触发器问题

cxingh 2003-12-23 12:43:40
有两表A和B, A是B的主表, 要实现删除A表时也删除B表对应项目
表A的触发器:
Create trigger TD_A on A for delete as
delete B join deleted b on a.Id=b.Id

B表中有触发器:
Create trigger TD_B on B for delete as

If exists(select Status from A jion deleted b on a.Id=b.Id)
begin
.......
end
else
begin
......
end

问题:trigger TD_B 中的IF语句始终为False, 请问该类问题用触发器如何实现??谢谢!!!
...全文
25 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxingh 2003-12-25
  • 打赏
  • 举报
回复
是的!!是我漏写了!!
我想请教的问题是: 在表B的触发器中要用到表A中的资料,而A表该行资料正是要删除的那行资料, 所以在B的触发器中的IF于句永远为FALSE

cxingh 2003-12-23
  • 打赏
  • 举报
回复
补充:
trigger TD_B 中IF语句为:
If exists(select Status from A jion deleted b on a.Id=b.Id where status=3)
zjcxc 2003-12-23
  • 打赏
  • 举报
回复
--表A的触发器错误,应该是:
Create trigger TD_A on A
for delete
as
delete B
from B aa join deleted bb on aa.Id=bb.Id
go

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧