У меня есть представление, которое извлекает определенные c данные. См. Пример ниже
Теперь я хотел бы вызывать хранимую процедуру всякий раз, когда представление захватывает новое значение, когда 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