我工作在Microsoft SQL Server中的触发器2012SQL服务器不接受正确的语法上的触发
这里是我到目前为止,以下我所知道的是正确的语法:
CREATE TRIGGER restore_trigger
ON dbo.Lead
AFTER DELETE OF id, firsname, lastname, postalcode, address,phone, email, title, managementlevel, lastcalldate, lastcallresult, companyid
REFERENCING OLD ROW as OldRow
FOR EACH ROW
INSERT INTO dbo.Lead
VALUES (OldRow.id, OldRow.firstname, OldRow.lastname, OldRow.postalcode, OldRow.address, OldRow.phone, OldRow.email,
OldRow.title, OldRow.managmentlevel, OldRow.lastcalldate, OldRow.lastcallresult, OldRow.companyid);
Microsoft SQL Server正在抛出一个错误,其中'of'和OldRow中的所有值都要插入到dbo.Lead中。
您只能将OF关键字与INSTEAD一起使用。 https://msdn.microsoft.com/en-us/library/ms189799.aspx –
对于SQL Server中的触发器,这是*** NOT ***正确的语法 - 简单明了。 SQL Server没有**有一个'FOR EACH ROW'子句,T-SQL不支持'在删除......之后' - 而T-SQL不支持' OLD'或'NEW'关键字 - 您需要阅读[**官方MSDN文档**](https://msdn.microsoft.com/zh-cn/library/ms189799.aspx)关于T的确切触发语法-SQL! –
@marc_s这是我的教授教给我的语法。如果我想要像这样运行触发器,我该怎么办?我能举个例子吗?我之前正在查看文档,我无法理解它。 –