on update cascade有什么用途?
on delete cascade 我知道可以根据引用的外键级联删除,
但on update cascade没用过,大家说说应用场合,级联更新什么。
谢谢。
[解决办法]
/*标题:两表通过字段关联进行级联删除。作者:爱新觉罗·毓华(十八年风雨,守得冰山雪莲花开) 时间:2008-11-20地点:广东深圳*/create table ta(id int not null)create table tb(id int , aid int)insert into ta values(1)insert into ta values(2)insert into tb values(1 , 1)insert into tb values(2 , 2)insert into tb values(3 , 1)go--一、查看原始数据--ta表的原始数据select * from ta/*id ----------- 12*/--tb表的原始数据select * from tb/*id aid ----------- ----------- 1 12 23 1*/--二、看看没有创建级联删除时的情况(删除ta表id=1的数据,看看是否影响tb表)delete from ta where id = 1select * from ta/*id ----------- 2*/select * from tb/*id aid ----------- ----------- 1 12 23 1*/--三、恢复原始数据,创建级联删除,删除ta表id=1的数据,看看是否影响tb表insert into ta values(1)--为ta创建主健alter table ta add constraint pk_ta_id primary key (id)go--为tb创建外健,并指定级联删除alter table tb add constraint fk_tb_aid foreign key (aid) references ta(id) on delete cascadegodelete from ta where id = 1select * from ta/*id ----------- 2*/select * from tb/*id aid ----------- ----------- 2 2*/--删除级联约束alter table tb drop constraint fk_tb_aidgo--删除测试表drop table ta , tbgo
[解决办法]
通俗的讲,就是修改外键的值的时候,相关的记录同步修改,不用你再一个一个表去修改了,也不会报什么因为外键,不能修改的错误了。
[解决办法]
级联修改
当某一列依赖于其他表的其他列或本表的其他列的时候...修改主表的时候级联修改附表的数据..