У меня есть два триггера: «После вставки или обновления» и «Вместо вставки». Похоже, что триггер after не работает или не отправляет правильные данные.
Я проверил правильность работы хранимой процедуры Z_UpdateStageTable и триггера вместо вставки. Удаление триггера «Вместо вставки» не оказывает никакого влияния. Триггер After Insert, Update одно время работал правильно, я не вносил в него никаких изменений. Я пытался удалить его и добавить, но он по-прежнему не работает или содержит правильные данные.
Любые идеи?
Вместо вставки:
ALTER TRIGGER [DeleteExistingFilter]
ON [dbo].[Z_MobileSyncFilters]
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Z_MobileSyncFilters WHERE UserID = (SELECT UserID FROM INSERTED);
INSERT INTO Z_MobileSyncFilters
SELECT *
FROM INSERTED;
END
После вставки обновить:
TRIGGER [UpdateStageTable]
ON [dbo].[Z_MobileSyncFilters]
AFTER INSERT,UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @AllWos AS VARCHAR(5000);
DECLARE @PmWos AS VARCHAR(5000);
DECLARE @RepWos AS VARCHAR(5000);
SET @AllWos = (SELECT AllWos FROM INSERTED);
SET @RepWos = (SELECT AllWos FROM INSERTED);
SET @PmWos = (SELECT AllWos FROM INSERTED);
EXEC Z_UpdateStageTable @AllWos;
EXEC Z_UpdateStageTable @RepWos;
EXEC Z_UpdateStageTable @PmWos;
END