【发布时间】:2016-08-09 21:39:06
【问题描述】:
我有 3 个具有级联删除关系的表(Main、Detail、SubDetail)。 还要在 SubDetail 上定义 AFTER Trigger 来检查一些数据。
SubDetail Trigger 需要为一些数据加入 Detail 表,但在 Delete Detail 记录的情况下,我无法访问 Detail 记录。
例子:
SELECT *
FROM DELETED JOIN Detail on DELETED.DetailId = Detail.Id
如何在SubDetail Trigger中访问Detail表的已删除记录???
更新:
为什么表格提示在我的场景中不起作用?它必须在一个事务中完成所有操作
【问题讨论】:
-
因此,如果您从
Detail表中删除-它从SubDetail中删除,那么为什么不在Details表上使用after delete触发器,该触发器将从SubDetail表中获取相关数据?跨度> -
你说得对,但我不喜欢这样做,因为有很多关系!通过级联删除,我可以确保不会忘记为任何关系编写代码!
标签: sql sql-server tsql triggers transactions