Sql server 删除触发器不工作

Sql server 删除触发器不工作,sql-server,tsql,triggers,Sql Server,Tsql,Triggers,我已经创建了一个简单的delete触发器,它被触发,但是影响了0行。已删除父表记录。但是记录中的表也应该删除,而不是删除。我有以下疑问 ALTER trigger [dbo].[studentAuditActionDelete] on [dbo].[tblStudent] after delete AS declare @studentId_Audit int; select @studentId_Audit = i.studentID from inserted i;

我已经创建了一个简单的delete触发器,它被触发,但是影响了0行。已删除父表记录。但是记录中的表也应该删除,而不是删除。我有以下疑问

ALTER trigger [dbo].[studentAuditActionDelete] on [dbo].[tblStudent]

after delete
AS

declare @studentId_Audit int;

    select @studentId_Audit = i.studentID from inserted i;  
    delete from studentAudit
    where
    studentId_Audit = @studentId_Audit
    PRINT 'AFTER Delete trigger fired.'

您是否尝试过从已删除的列表中进行选择


请记住,删除的行可以包含多行,您只能选择其中一行!也就是说,所有触发器都要记住插入、更新和删除的触发器

您是否尝试过从已删除的触发器中进行选择


请记住,删除的行可以包含多行,您只能选择其中一行!也就是说,所有触发器都要记住插入的、更新的和删除的

不要在触发器中声明变量,在删除源表的情况下使用简单联接,您将能够使用多次删除

CREATE TRIGGER [dbo].[studentAuditActionDelete] on [dbo].[tblStudent]
FOR DELETE
AS
  DELETE a
  FROM studentAudit a JOIN deleted d ON a.studentId_Audit = d.studentID  
  PRINT 'AFTER Delete trigger fired.'  

不要在触发器中声明变量,在删除源表的情况下使用简单联接,这样就可以使用多次删除

CREATE TRIGGER [dbo].[studentAuditActionDelete] on [dbo].[tblStudent]
FOR DELETE
AS
  DELETE a
  FROM studentAudit a JOIN deleted d ON a.studentId_Audit = d.studentID  
  PRINT 'AFTER Delete trigger fired.'