插入后如何为sql server 2008制作触发器?

时间:2014-01-11 05:50:24

标签: sql sql-server sql-server-2008 triggers

我有一个名为Page的表,该表有一个名为Priority的列。我希望当我在页面表中插入一行时,优先级列采用插入行PageId的值。 PageId是我的表主键。

我为它写了这个触发器:

CREATE TRIGGER PagePriority
ON [Page]
AFTER INSERT
AS
Begin
update inserted
set [Priority]=(select PageId from [Page] where Page.PageId=inserted.PageId)
End

但我在set行上有一些错误。

怎么做?

1 个答案:

答案 0 :(得分:1)

尝试以下(假设PageId是int)

CREATE TRIGGER PagePriority
ON [Page]
AFTER INSERT
AS
Begin

DECLARE @thePageId integer = 0
SET @thePageId = (SELECT PageId from inserted)

update [Page]
set [Page].Priority = @thePageId where [Page].PageId = @thePageId

End