触发后SQL Server中级别的最大嵌套

触发后SQL Server中级别的最大嵌套,sql,sql-server,triggers,Sql,Sql Server,Triggers,我创建了一个新触发器,该触发器允许我在更新后创建一个日志,但是,尽管我认为它应该可以工作,但我得到以下错误: 超过了视图、存储过程、函数或触发器的最大嵌套级别(限制:32) 它是否可能与触发器的写入方式有关 ALTER TRIGGER [TR_Log_Notes] ON ALUMNS AFTER UPDATE AS BEGIN SET NOCOUNT ON; DECLARE @Note_Text VARCHAR (30) SET @Note_Text = 'Fields

我创建了一个新触发器,该触发器允许我在更新后创建一个日志,但是,尽管我认为它应该可以工作,但我得到以下错误:

超过了视图、存储过程、函数或触发器的最大嵌套级别(限制:32)

它是否可能与触发器的写入方式有关

ALTER TRIGGER [TR_Log_Notes]
ON ALUMNS
AFTER UPDATE
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @Note_Text VARCHAR (30)
    SET @Note_Text = 'Fields were updated'

    INSERT INTO Log_Notes(Alumn_ID, Note_Text)
        SELECT i.Alumn_ID, @NoteText 
        FROM INSERTED i
END

更新同一表中的一行后,您将插入到日志注释中。这真的是你想要的吗


如果您确实想要相同的表,那么您应该使用
for
触发器,并在进入表之前更新每一行。但是,我怀疑您想在另一个表上创建触发器。

您好,是的,我在表ALUMNS上创建了触发器,我的目的是在更新ALUMNS后将数据插入日志注释中。表LOG\u注释上是否有其他触发器?是的,当前有3个触发器可能是其中一个触发器导致了错误。你需要为他们张贴代码,以便我们帮助找到它。正如你在上面所说的那样,校友们的触发器是好的。这里有些不对劲。不能有与同一架构中的表同名的触发器。很明显,你已经改变了一些东西,因为这将不会工作,因为张贴。您将得到一个重复的对象名错误。数据库中已经有一个名为“Log\u Notes”的对象。你说得对,对不起,名称是TR\u Log\u Notes谢谢