Я не могу выполнить процедуру в моем триггере с параметром из 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 на fe 9. это правильно обновляет то, что я хочу для IdReservation
№ 9.
Если вы вставляете только одну строку, вы можете просто сделать назначение в правильном порядке:
BEGIN
DECLARE @ID int;
SELECT @ID = IdReservation
FROM INSERTED;
EXEC SumOrderPositions @ID;
END;
Тем не менее, это ошибка, ожидающая своего появления. Вместо этого вы можете захотеть использовать курсор, перебрать строки, inserted
с помощью какого-либо другого механизма, или проверить, что inserted
только одна строка. Я не уверен, какая именно логика вам нужна.
IdReservation=@ID
не совпадает с @ID=IdReservation