CREATE TABLE insured_autos
(policy_id NUMBER CONSTRAINT policy_fk
REFERENCE policies(policy_id
ON DELETE CASCADE,
make VARCHAR2(30),
model VARCHAR(30),
year NUMBER,
CONSTRAIN auto_fk FROEIGN KEY (make,model,year)
REFERENCES automobiles (make,model,year)
ON DELETE SET NULL
);
ON DELETE子串告诉ORACLE如果父纪录(parent record)被删除后,子记录做什么。缺省情况下禁止在子记录还存在的情况下删除父纪录。自己改成ALTER TABLE T_NAME(ADD ...)就可以了。
(policy_id NUMBER CONSTRAINT policy_fk
REFERENCE policies(policy_id
ON DELETE CASCADE,
make VARCHAR2(30),
model VARCHAR(30),
year NUMBER,
CONSTRAIN auto_fk FROEIGN KEY (make,model,year)
REFERENCES automobiles (make,model,year)
ON DELETE SET NULL
);
ON DELETE子串告诉ORACLE如果父纪录(parent record)被删除后,子记录做什么。缺省情况下禁止在子记录还存在的情况下删除父纪录。自己改成ALTER TABLE T_NAME(ADD ...)就可以了。
解决方案 »
- 如何让一个字段(竖列)内的数据,横向显示。
- Oracle 字符串截取问题
- centos oracle 10g dbca后,只能选择创建数据库,数据库配置和删除灰色
- 大师们帮忙出谋画测, 4G的内存, 3.2G的双志强CPU, 机器上如何配置oralce9i , 性能会最好,速度会最快?
- 请问Oracle 自动增长列自动做
- 如果加密oracle的自定义函数和触发器
- 新手的oracle问题,
- windows非正常关机后,为什么listener无法启动?
- 程序报错pls-00103,说在需要赋值号的时候,出现immediate
- 有关概念问题!我都糊涂了!!
- 为什么MS sql server 2000的DTS(导入导出工具)连接不到Oracle服务端?
- ORACLE在数据约束和触发器方面比较熟练的高的请进,高分求救!!!!!!!!!!!
alter table test1 add constraint con_a primary key(id);
alter table test2 add constraint con_b foreign key (id) references test1(id) on delete cascade;
就是加上 on delete cascade
第二种 触发器
create or replace trigger tri
after delete on test1
for each row
begin
delete from test2 where id=:new.id;
end;
注意 用外键时不能建立外键
你试一下 能用吗