Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server多重级联序列_Sql_Sql Server_Cascade_Cascading Deletes - Fatal编程技术网

SQL Server多重级联序列

SQL Server多重级联序列,sql,sql-server,cascade,cascading-deletes,Sql,Sql Server,Cascade,Cascading Deletes,假设表A有两个子表,B和C在A-B之间有级联删除,A-C之间有级联删除 在a中删除行时,将删除B和C中匹配的行 SQL Server如何确定要触发的级联顺序?我需要的是在A-B级联删除触发之前触发A-C级联删除 我知道我可以用触发器来实现这一点,但我不想这样做,除非我必须这样做。如果顺序如此重要,这是一种数据库设计的味道,它还指出了一个事实,即您可能不应该使用级联删除来实现此数据完整性操作。如果顺序如此重要,这是一种数据库设计的味道,它还指出了一个事实,即您可能不应该使用级联删除来执行此数据完整

假设表A有两个子表,B和C在A-B之间有级联删除,A-C之间有级联删除

在a中删除行时,将删除B和C中匹配的行

SQL Server如何确定要触发的级联顺序?我需要的是在A-B级联删除触发之前触发A-C级联删除


我知道我可以用触发器来实现这一点,但我不想这样做,除非我必须这样做。

如果顺序如此重要,这是一种数据库设计的味道,它还指出了一个事实,即您可能不应该使用级联删除来实现此数据完整性操作。

如果顺序如此重要,这是一种数据库设计的味道,它还指出了一个事实,即您可能不应该使用级联删除来执行此数据完整性操作。

您不需要级联删除或触发器-只需在存储过程中处理正确的顺序。使用级联删除,您无法控制它们的执行顺序,但您也无法控制同一类型的多个触发器的执行顺序。您不需要级联删除或触发器-只需在存储过程中处理正确的顺序。使用级联删除,您无法控制它们的执行顺序,但是,您也无法控制相同类型的多个触发器的执行顺序。