简体   繁体   English

插入触发器后删除

[英]Delete after Insert trigger

I'm trying to create after insert trigger to delete a row from table whenever I insert the same row in the opposite table using the ID 我试图在插入触发器之后创建以每当我使用ID在相反的表中插入同一行时从表中删除行

But it doesn't work 但这不起作用

Create Trigger [dbo].[MeritedDeceased] On [dbo].[Deceased]
After Insert
As
Begin
Delete From dbo.Merited Where dbo.Deceased.ID = dbo.Merited.ID
End

I think you mean to do something like this (maybe)... 我想你的意思是做这样的事情(也许)...

CREATE TRIGGER [dbo].[MeritedDeceased] ON [dbo].[Deceased]
AFTER INSERT
AS
BEGIN
    DELETE M
    FROM [dbo].[MeritedDeceased] M
    INNER JOIN Inserted I
        ON I.ID = M.ID
    ;
END
;

Translation: Every time a row is inserted into dbo.Deceased , delete any rows with the same (inserted) ID from dbo.MeritedDeceased . 翻译:每次将行插入dbo.Deceased ,请从dbo.MeritedDeceased删除具有相同(插入)ID的任何行。

FYI, this TRIGGER won't just delete one row, but also a batch of rows that were inserted together. 仅供参考,此TRIGGER会删除一行,还会删除一批一起插入的行。 If that's what you want, then this should help. 如果那是您想要的,那应该会有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM