gpt4 book ai didi

sql - 我在 sql server 2008 中的第一个 sql 触发器

转载 作者:行者123 更新时间:2023-12-04 06:06:29 24 4
gpt4 key购买 nike

当我遇到一个奇怪的错误时,我试图执行以下代码。
我希望你们能在这里帮助我:)

CREATE TRIGGER Vlucht_Duurtussenstop
  ON  dbo.Vlucht
  AFTER UPDATE,INSERT
AS
BEGIN
IF (new.Duurtussenstop <> old.Duurtussenstop)
   BEGIN
     EXECUTE dbo.testprocudure1
        @p_vluchtDuurtussenstop = Duurtussenstop
   END
END
GO


[15:50:03] Gert-Jan Bos: Msg 102, Level 15, State 1, Line 7
Incorrect syntax near ' '.
Msg 102, Level 15, State 1, Line 12
Incorrect syntax near ' '.
Msg 102, Level 15, State 1, Line 14
Incorrect syntax near ' '.

最佳答案

SQL Server 没有 newold .它有 inserteddeleted伪表,但如果原始语句影响多行,则这些可能包含多行。

从您的使用情况来看,也不清楚 testprocudure1正在使用旧值或新值调用,因此我此时无法重新编写您的查询。

理想情况下,testprocudure1 的主体可以在触发器中展开,以避免必须使用游标 - 但要找到您感兴趣的行,查询将类似于:

SELECT i.Duurtussenstop,d.Duurtussenstop
FROM
inserted i
join
deleted d
on
i.Col1 = d.Col1 and
i.Col2 = d.Col2

我假设表上的主键是( Col1Col2 )

关于sql - 我在 sql server 2008 中的第一个 sql 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com