我是新來的SQL Server更新觸發器在SQL Server 2008
我要創建一個觸發更新
CREATE TRIGGER on_update
ON [GP].[dbo].[TABLE1]
AFTER UPDATE
AS
DECLARE @PKCOL1 int
DECLARE @COL2 int
DECLARE @COL3 nvarchar(36)
DECLARE @COL4 nvarchar(36)
DECLARE @COL5 nvarchar(126)
DECLARE @COL6 datetime
DECLARE @COL7 datetime
BEGIN
SELECT @PKCOL1 = [COL-A],
@COL2 = [COL-B],
@COl3 = NULL,
@COL4 = [COL-C],
@COL5 = [COL-D],
@COL6 = [COL-E]
FROM INSERTED
UPDATE [dbo].[TABLE2]
SET [COL2] = @COL2,
[COL3] = @COL3,
[COL4] = @COL4,
[COL5] = @COL5
WHERE COL2 = @PKCOL1
我收到語法錯誤,其中contition。
@ PKCOL1附近的語法不正確。
能oany幫我請...
看起來你需要和'END'關閉'BEGIN'之前的select語句。沒有SQL Server方便,所以我無法測試。此外,SQL Server每條語句觸發一次,而不是每行一次。如果[GP]。[dbo]。[TABLE1]中的更新超過一行,您將中斷。而不是從插入中選擇一行的值,而是使用dbo.table2的一個更新從插入中讀取並處理所有行。例如:'update trgt,set .... from dbo.table2 trgt inner join inserted I on trgt.col2 = I. [COL-A]' – 2011-05-31 22:29:41