【发布时间】:2015-06-10 10:27:45
【问题描述】:
我有三张桌子
最终用户可以从 ASP 的下拉列表中选择一个 top2000jaar,它将其值发送到存储过程,存储过程必须删除 [LIJST] 中的所有值,其中 top2000jaar 等于已选择的值但是需要一个触发器,当 [LIJST] 中不再存在该 songid 时,从 [SONG] 中删除 song.songid = lijst.songid 的行,因此如果 [artiest] 中的艺术家在 [song] 中没有剩余歌曲,艺术家也应该被删除。
所有删除的数据都应该放在[logtable]中
我尝试了一种我认为可行的方法,但没有。
预期的输出应该是这样的:
这是创建的触发器,我在谷歌上找到了一些答案,但不起作用:
ALTER TRIGGER [dbo].[TRGremoveSong]
ON [dbo].[Lijst]
AFTER DELETE AS
Begin
DELETE FROM song where songid not in (Select songid from lijst)
END
begin
INSERT INTO logtable
SELECT
*
FROM deleted
end
【问题讨论】:
-
请通过编辑问题在问题本身中添加您的结构、示例数据和预期输出。请不要添加链接。如果将来链接断开,问题可能会变得无法回答。
-
感谢回复,马上改了
-
请添加您的触发器代码!代码有什么问题。
-
您是否只是在努力更新日志表或从其他表中删除?
-
both,我学习了半年,现在包含了一些更难的sql,但是对于一些项目我就是想不出如何将它们放在一起,我知道如何单独删除它们,但是如何触发它使其全部自动化我不知道
标签: sql asp.net sql-server triggers