佣金分类列应该能够存储最大值为99的整数,并命名为comm_id。如果在添加行时未提供任何值,则应自动将Comm_id列的值设置为10。优势代码列还应包含最大值为99的整数值,并命名为ben_id。
必须创建一个新表commrate,以存储佣金率表,并且必须包含以下列:
comm_id:一个类似于添加到ACCTMANAGER表中的数字列
Comm_rank:一个字符字段,可以存储最多15个字符的储罐名称
Rate:一个可以存储两位小数的数字字段(例如.01或.03
必须创建新表,福利,以存储可用的福利计划选项,并且必须包含以下列:
ben_id:一个类似于添加到acctmanager表中的数字列
ben_plan:可以存储单个字符值的字符字段
ben_provider:一个可以存储三位数整数的数字字段
active:一个可以保存Y或N值的字符字段
我的oracle代码是
第一张表是针对acctmanager的
alter table ACCTMANAGER
add ( Comm_id number(2) default 10,
Ben_id number(2)
);
我选择数字的原因是因为它想要最大值99
第二张表
create table COMMRATE
( Comm_id number(2) default 10,
Comm_rank varchar2(15),
Rate number(0,2)
);
我认为这是正确的,但我遇到的问题是comm_rank,因为我可以选择varchar2或char,但我更喜欢varchar2
第三个福利表
create table BENEFITS
( Ben_id number(2),
Ben_plan char(1),
Ben_provider number(3),
Active varchar2(1)
);
活动的最后一列,我选择varchar2,但我认为最好选择char,因为它只有一个可以保存Y或N值的字符。或者我应该选择char?
答案 0 :(得分:0)
为提供上下文,此问题来自Joan Casteel的文本 Oracle 12c:SQL 。
问题来自第3章,尚未涵盖约束的概念。约束在第4章中介绍。
对于第二张桌子,我得到了:
CREATE TABLE commrate
( comm_id NUMBER(2) DEFAULT 10,
comm_rank VARCHAR2(15),
rate NUMBER(2,2) );
唯一的区别是“比率NUMBER(2,2)”从0变为2,因为使用语法NUMBER(p,s)... p表示该数字的左侧和右侧的总位数。小数点后的位置。
.01到.99在小数点右边有2位数字。
我认为...