У меня есть триггер уровня таблицы в Oracle, который отлично работает. Сейчас пытаюсь воспроизвести в SQL Server 2008 R2.
Если я выполняю простой триггер AFTER UPDATE, он, кажется, работает нормально при обновлении, но игнорирует вставки. (Oracle, кажется, не) Если я делаю это после ПОСЛЕ ВСТАВКИ, ОБНОВЛЕНИЕ вызывает тупик.
Вот код:
CREATE TRIGGER [dbo].[trgPOLineAudit]
ON [fin_live64].[dbo].[POP_LINES]
AFTER INSERT, UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
BEGIN TRANSACTION WriteAuditRecord;
INSERT INTO dbo.OT_POP_LINE_CHANGES
(COMPANY_CODE, DIVISION, PO_NUMBER,PO_LINE_NUMBER, CREATION_DATE,
CHANGE_DATE, TG_UPLOAD_DATE)
SELECT COMPANY_CODE, DIVISION, PO_NUMBER, PO_LINE_NUMBER, GETDATE(),
GETDATE(), '11/17/1858'
FROM inserted;
COMMIT TRANSACTION WriteAuditRecord;
END
Спасибо!