Триггер для вызова хранимой процедуры - PullRequest
0 голосов
/ 23 января 2020

У меня есть представление, которое извлекает определенные c данные. См. Пример ниже

enter image description here

Теперь я хотел бы вызывать хранимую процедуру всякий раз, когда представление захватывает новое значение, когда LocationCode имеет значение «MYS». Вероятно, триггер для вызова хранимой процедуры? Не уверен, что это работает?

Хранимая процедура выполняется на основе этих столбцов - ID и ActivityDate, т.е. необходимо передавать их в качестве входных данных, которые могут быть получены из данных в представлении. Выходные данные хранимой процедуры должны храниться во временной таблице.

EXEC dbo.spLocationEvents
@ID = '314AS',
@ActivityDate = '20 Jan 2020 12:00 AM'

Данные должны записываться в временную таблицу каждый раз, когда кто-то вводит действие для кода местоположения 'MYS'.

CREATE TRIGGER [dbo].[ActivityEvents_IR] ON [dbo].[ActivityEvents] 
FOR INSERT 
AS 
BEGIN 
SET NOCOUNT ON 
    IF (SELECT LocationCode FROM inserted) LIKE 'MYS' 
    Begin 
        Return 
    END 
    DECLARE @ActivityDate datetime = 'SELECT ' + 'ActivityDate' + ' FROM inserted 
    WHERE LocationCode=''MYS''' 
    DECLARE @ID int = 'SELECT ' + 'id' + ' FROM inserted WHERE LocationCode=''MYS''' 
    INSERT INTO [#TempActivityEvents] 
    EXEC dbo.spLocationEvents @ID = @ID, @Date = @ActivityDate 
END 
GO
...