sql-server - Oracle 删除约束级联等效于 Sql Server

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

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

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

SQL Server 中与此等效的是什么?

最佳答案

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

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

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

如果您启用了 ON DELETE CASCADE,则 DELETE 会删除行。

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

来自 Oracle 文档 http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm#i2103845对于 ALTER TABLE 语句:

CASCADE Specify CASCADE if you want all other integrity constraints that depend on the dropped integrity constraint to be dropped as well.

关于sql-server - Oracle 删除约束级联等效于 Sql Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26760547/

相关文章:

sql - 如何循环遍历表来查找数据集?

sql - 将重复记录移动到不同的表

tsql - 过滤联合结果

SQL - 说明 - ISNULL()

c# - Azure - 将 .NET Web 应用程序与 azure sql 数据库连接

sql - 如何使用基于另一个选择语句的循环插入表

sql - 将整个sql脚本插入变量中

java - 数据库交互后重定向

sql - 插入null时如何设置默认值

entity-framework - 如何在 Entity Framework 6中执行存储过程而不返回结果?