我无法使用inserted
伪表中的参数在触发器中执行过程。
ALTER TRIGGER [dbo].[Restauracja]
ON [dbo].[RezerwacjaPozycje]
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
DECLARE @ID INT;
SELECT IdReservation = @ID
FROM INSERTED
EXEC SumOrderPositions @ID;
END
如果我将@id更改为f.e. 9.它正确地更新了我想要的IdReservation
9号。
如果只插入一行,则只需按正确的顺序进行分配:
BEGIN
DECLARE @ID int;
SELECT @ID = IdReservation
FROM INSERTED;
EXEC SumOrderPositions @ID;
END;
但是,这是一个等待发生的错误。相反,您可能希望使用游标,使用其他机制循环遍历inserted
中的行,或者检查inserted
中只有一行。我不确定你想要的确切逻辑。