SQL Server DML TRIGGER - PullRequest
       0

SQL Server DML TRIGGER

0 голосов
/ 23 сентября 2019

Я хочу попробовать проконтролировать состояние моего SQL Server, если при выполнении какой-либо операции DML триггер должен записать журнал.

----create table-----
USE [master]
GO

CREATE TABLE [dbo].[ChangeLogin_Log]
(
    [ActionTime] [DATETIME] NULL DEFAULT (getdate()),
    [Username] [NVARCHAR](100) NULL,
    [EventType] [NVARCHAR](100) NULL,
    [Data] [XML] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

----------------------TRIGGER ---------------------
CREATE TRIGGER [test] ON dbo.ChangeLogin_Log
FOR INSERT
AS
    DECLARE @data XML = eventdata();
BEGIN 
    INSERT INTO ChangeLogin_Log(Username, EventType, Data)
    VALUES (CURRENT_USER,
            @data.value('(/EVENT_INSTANCE/EventType)[1]', 'NVARCHAR(100)'),
            @data)
END
GO

Когда я вставляю одну запись, ChangeLogin_Log не будет отображать EventType, Значения данных - где моя ошибка?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...