Oracle基础练习题及答案(表约束)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习作业

创建表emp1,字段如下

eno char(3),

ename char(6)

sex char(2)

age number(2)

dno char(3)

并插入如下数据

1 ,TOM ,男,21 ,’001’

2 ,JERRY ,男,21 ,’002’

3 ,KATE ,女,21 ,’003’

4 ,MARY ,女,21 ,’004’

5 ,JACK ,男,21 ,’005’

i.在eno字段上创建主键约束

ii.在ename字段上创建非空约束

iii.创建检查约束判断age在18到60岁之间的男性或者age在18到55岁之间的女性iv.在dno字段上创建唯一性约束

create table emp1(

eno char(3) primary key,

ename char(6) not null,

sex char(2),

age number(2),

dno char(3) unique,

constraint sex_age check(

((age between18and60) and sex='男') or

((age between18and55) and sex='女'))

)

insert into emp1 values('1','TOM','男',21,'001')

insert into emp1 values('2','JERRY','男',21,'002');

insert into emp1 values('3','KATE','女',21,'003');

insert into emp1 values('4','MARY','女',21,'004');

insert into emp1 values('5','JACK','男',21,'005');

v.创建和emp1表字段相同的emp_bak表,将emp_bak表的eno字段与emp表的eno字段创建外键约束

create table emp_bak as select * from emp1 where1=2

alter table emp_bak add constraint v foreign key(eno) references emp1(eno);

1、请创建一个表,表名为phone,表结构如下

电话号码(PHONENUM VARCHAR2(8))

电话费(PAY number(8,2))

号码等级(NUMLEVEL VARCHAR2(4))

费用日期(PAYDATE varchar2(12)

create table phone (

phonenum varchar2(8),

pay number(8,2),

numlevel varchar2(4),

paydate varchar2(12)

)

1)插入以下两条数据.

123456, 600, pt04, 20051220

888888, 900, pt05, 20051019.

insert into phone values('123456',600,'pt04', '20051220');

insert into phone values('888888',900,'pt05', '20050919');

2)创建一个备份表结构名为phone_bak, 将phone中的数据插入phone_bak中.

create table phone_bak as select * from phone;

3)将电话号码为123456的电话费改为1000,执行回滚操作

Update phone set pay=1000 where phonenum=123456;

Rollback;

1)在phone表中,如果PHONENUM字段中的数据为‘123456’,则返回‘Y’否则返回‘N’

Select decode(phonenum,’123456’,’y’,’n’) from phone;

2)将phone表中的电话号码为123456的记录的费用日期(PAYDATE)字段的日期转变成YYYY/MM/DD格式

Update phone set paydate= to_date(paydate,'yyyy/mm/dd') where phonenum=123456;

3)将电话号码为888888的号码等级改为pt04并提交

Update phone set numlevel=’pt04’ where phonenum=888888

commit;

相关文档
最新文档