oracle中父表子表创建主外键约束

在Oracle中创建外键约束时,父表的关键字必须为主键或唯一,且不能为非空。设置了唯一约束后,子表插入、更新和删除数据需考虑父表状态。为实现级联操作,可以通过设置删除自动置空或级联删除。级联删除可在删除父表时,同时删除子表中的相关记录,可通过特定SQL语句实现。
摘要由CSDN通过智能技术生成
--父表
create table clazz(
cno number(10),
cname char(10),
cdesc varchar2(100)
)
alter table clazz add constraints pk_clazz_cno primary key(cno)
alter table clazz add constraints ck_clazz_cno check(cno is not null)
truncate table clazz
insert into clazz values(1,'java','好好学习');
insert into clazz values(2,'java','好好学习')
update clazz set cno = 3,cname='python' where cdesc='好好学习'
alter table clazz add constraints ck_clazz_cno check(cno is not null)
alter table clazz drop constraints pk_clazz_cno
alter table clazz add constraints pk_clazz_cno primary key(cno)
drop table clazz
----------------------------
--子表
create table student(
sno number(10),
sname char(10),
sage number(10),
ssex char(10) check(ssex='男' or ssex ='女'),
sfav varchar2(100),
sbirth date,
sqq number(10),
constraints uk_student_sqq unique(sqq),
cid number(10)
)
alter table student add constraints fk_s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值