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建表,建库的问题
- 触发器问题
- oracle如何查询某个字段中含有%字符的数据
- 嵌套表的引用问题
- oracle dbca无法执行 windows7环境
- @符号的问题!!
- 分区问题
- 在ORACLE 有没有像SQL SERVER里的xp_cmdshell 的命令来启动WINDOWS里的执行文件吗
- 怎样再SQL中建立连接服务器连接到ORCALE??各位大侠,急急急!!!
- 我在SqlServer中一个表有个布尔类型的字段,在中ORACLE中咋办呢?
- 为什么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;
注意 用外键时不能建立外键
你试一下 能用吗