Показать сообщение отдельно
Старый 01.10.2010, 11:35   #1  
Stainless is offline
Stainless
Участник
MCBMSS
Columbus IT
 
34 / 114 (4) +++++
Регистрация: 26.01.2007
! Триггер SQL вызывает ошибку при обновлении записи
Здравствуйте,

При заведении update триггера на любой таблице, у которой заполняется поле ModifiedDateTime выдается ошибка:
Цитата:
[Microsoft][SQL Native Client][SQL Server]The target table 'Имя_таблицы' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.
Используется простейший триггер:
X++:
ALTER TRIGGER [dbo].[InventTableLog] ON [dbo].[InventTable] AFTER UPDATE AS
    BEGIN
        DECLARE @RecId AS bigint
        SELECT @RecId = max(RecId) FROM [dbo].[InventTableAudit]
        IF @RecId IS NULL BEGIN  SELECT @RecId = 0  END
        
        INSERT INTO [dbo].[InventTableAudit] 
        (ItemId, ItemCategoryId, LogModifiedDateTime, RecVersion, RecId)
        select
            ItemId, ItemCategoryId, getdate(), 1, @RecId+1
        FROM
            INSERTED
    END
Проверялось на AX2009SP1 (5.0.1500.2116)

Последний раз редактировалось Stainless; 01.10.2010 в 11:37.