修改hr模式中的book表: 1、为book表添加以下2列: 列名 数据类型 备注 pages number(4) 页数 isbn varchar2 (20) ISBN编码
时间: 2024-04-16 21:24:19 浏览: 54
要在HR模式的book表中添加两列(pages和isbn),您可以使用以下SQL语句:
```sql
ALTER TABLE hr.book
ADD (pages NUMBER(4),
isbn VARCHAR2(20));
```
这将向book表中添加名为pages和isbn的两列,分别使用数据类型NUMBER(4)和VARCHAR2(20)。
请确保您已连接到HR模式的Oracle数据库,并具有足够的权限来执行此ALTER TABLE语句。如果您没有足够的权限,可能需要与数据库管理员联系以获取相应的权限。
相关问题
利用Java编写程序实现以下功能:2.定义一个教材类Book,实现封装。具体要求如下: 请通过代码封装,实现如下需求: (1)具有属性:名称(title)、页数(pageNum) (2)其中页数不能少于200页,否则输出错误信息,并赋予默认值200 (3)为各属性提供赋值和取值方法 (4)具有方法detail,用来在控制台输出每本教材的名称和页数 (5)编写测试类BookTest进行测试:为Book对象的属性赋予初始值,并调用Book对象的detail方法,测试输出是否正确。
我明白了,下面是使用Java编写程序实现以上需求的代码:
// Book.java
public class Book {
private String title;
private int pageNum;
public Book(String title, int pageNum) {
this.title = title;
if (pageNum < 200) {
System.out.println("Error: The number of pages should be no less than 200.");
this.pageNum = 200;
} else {
this.pageNum = pageNum;
}
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
if (pageNum < 200) {
System.out.println("Error: The number of pages should be no less than 200.");
this.pageNum = 200;
} else {
this.pageNum = pageNum;
}
}
public void detail() {
System.out.println("Book title: " + title);
System.out.println("Number of pages: " + pageNum);
}
}
// BookTest.java
public class BookTest {
public static void main(String[] args) {
Book book = new Book("Java Programming", 150);
book.detail();
System.out.println();
book.setTitle("Java Programming - Updated");
book.setPageNum(300);
book.detail();
}
}
运行以上代码,得到的输出如下:
Error: The number of pages should be no less than 200.
Book title: Java Programming
Number of pages: 200
Book title: Java Programming - Updated
Number of pages: 300
以上代码实现了教材类Book的封装,通过测试类BookTest进行测试,并且在不满足要求时输出错误信息并赋予默认值。
编写book类,要求: 1.类中包含属性书名、书号、主编、出版社、页数、价格等。 2.其中页数不能少于200页,否则输出错误信息,并强制赋值200,价格不可为负数。 3.要求提供所有成员的只读权限,提供价格的修改权限。 4.根据类的合理性原则设计其他方法。
为了满足上述要求,可以按照以下方式编写book类:
```
class book:
def __init__(self, title, number, editor, publisher, pages, price):
if pages < 200:
print("Error: Pages cannot be less than 200!")
self.pages = 200
else:
self.pages = pages
if price < 0:
print("Error: Price cannot be negative!")
self.price = 0
else:
self.price = price
self.__title = title
self.__number = number
self.__editor = editor
self.__publisher = publisher
@property
def title(self):
return self.__title
@property
def number(self):
return self.__number
@property
def editor(self):
return self.__editor
@property
def publisher(self):
return self.__publisher
@property
def pages(self):
return self.__pages
@pages.setter
def pages(self, value):
if value < 200:
print("Error: Pages cannot be less than 200!")
self.__pages = 200
else:
self.__pages = value
@property
def price(self):
return self.__price
@price.setter
def price(self, value):
if value < 0:
print("Error: Price cannot be negative!")
self.__price = 0
else:
self.__price = value
def print_info(self):
print("Title:", self.title)
print("Number:", self.number)
print("Editor:", self.editor)
print("Publisher:", self.publisher)
print("Pages:", self.pages)
print("Price:", self.price)
def discount(self, percentage):
self.price *= (1 - percentage/100)
```
在该类中,我们使用了init方法初始化该类的各个属性,其中pages和price都进行了合法性检验,如果不合法则会输出错误信息并进行强制赋值。我们使用@property装饰器来实现只读权限,使用@pages.setter和@price.setter装饰器来实现价格的修改权限。我们还实现了一个print_info方法来打印所有信息,以及一个discount方法来对价格进行折扣处理。
阅读全文