У меня есть следующий запрос:
INSERT INTO LOAN (MemberSSN, VolumeID, LoanDate)
OUTPUT inserted.MemberSSN, inserted.VolumeID, inserted.LoanDate
VALUES ('488-40-', 2, GETUTCDATE())
Мне нужен триггер, который при вставке в таблицу LOAN
выполнял следующий запрос - INSERT в таблицу VOLUME_VOLUME_STATUS
:
INSERT INTO VOLUME_VOLUME_STATUS (VolumeID, StatusID, DateCreated)
VALUES (>>previouslyInsertedVolumeID<<, 2, getutcdate())
Как видите, я не уверен, как определить SQL только что вставленный VolumeID
, то есть 2
.
Ниже приведен триггер, который я написал :
CREATE TRIGGER LoanStatusUpdate_OnLoaning
AFTER INSERT
ON LOAN
BEGIN
INSERT INTO VOLUME_VOLUME_STATUS (VolumeID, StatusID, DateCreated)
VALUES (>>previouslyInsertedVolumeID<<, 2, getutcdate())
END
Следовательно, что следует передать в качестве значения для столбца VolumeID
, чтобы параметр был значением из INSERT
до активации триггера?
Прикинул какие-то ошибки в предыдущем триггере. Вот тот, с исправленными синтаксическими ошибками:
CREATE TRIGGER LoanStatusUpdate_OnLoaning
ON LOAN
AFTER INSERT
AS
INSERT INTO VOLUME_VOLUME_STATUS (VolumeID, StatusID, DateCreated)
VALUES (New.VolumeID, 2, getutcdate())
GO