Oracle下拉约束级联在Sql Server中等效

时间:2014-11-05 15:12:33

标签: sql-server oracle sql-server-2008 cascade

在Oracle中,要删除约束PK_SAI,我使用语法:

ALTER TABLE "SAISIE" 
    DROP CONSTRAINT "PK_SAI" CASCADE;

SQL Server中的等效内容是什么?

1 个答案:

答案 0 :(得分:2)

您正在考虑与实际DELETE语句相关的FOREIGN KEY约束的CASCADE功能。

ALTER TABLE t2 add constraint FK_T2 foreign key(t_id) references t(id)
   ON DELETE CASCADE;

使用CASCADE删除约束不会删除任何行。

DELETE删除行,如果您已启用ON DELETE CASCADE。

删除约束只会删除约束(以及关联的索引和依赖约束),而不是数据行。在SQL Server ALTER TABLE ...中,我不知道Oracle中存在“CASCADE”选项。

从Oracle docs http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm#i2103845获取ALTER TABLE语句:

  

CASCADE如果您希望删除依赖于丢弃的完整性约束的所有其他完整性约束,请指定CASCADE。