SQL級聯更新和級聯刪除

alter table 表名
add constraint 約束名
foreign key(字段名) references 主表名(字段名)
on delete cascade
語法:
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
[on update cascade]
註釋:
column:列名
referenced_table_name:外鍵參考的主鍵表名稱
ref_name:外鍵要參考的表的主鍵列
on delete:刪除級聯
on update:更新級聯
表的外鍵約束 SELECT 外鍵表ID=b.fkeyid ,外鍵表名稱=object_name(b.fkeyid) ,外鍵列ID=b.fkey ,外鍵列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) ,主鍵表ID=b.rkeyid ,主鍵表名=object_name(b.rkeyid) ,主鍵列ID=b.rkey ,主鍵列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) FROM sysobjects a join sysforeignkeys b on a.id=b.constid join sysobjects c on a.parent_obj=c.id where a.xtype='f' AND c.xtype='U'                   查詢一個表的全部外鍵: SELECT 主鍵列ID=b.rkey ,主鍵列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) ,外鍵表ID=b.fkeyid ,外鍵表名稱=object_name(b.fkeyid) ,外鍵列ID=b.fkey ,外鍵列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid) FROM sysobjects a join sysforeignkeys b on a.id=b.constid join sysobjects c on a.parent_obj=c.id where a.xtype='f' AND c.xtype='U' and object_name(b.rkeyid)='要查詢的表名'   
相關文章
相關標籤/搜索