一尘不染

SQL Server:DDL触发器,控制表的创建

sql

我正在使用SQL Server 2008。

我正在创建一个DDL触发器,如下所示:

CREATE  TRIGGER  tName ON database FOR CREATE_TABLE
as
  print 'A table has been created'

我可以获取已创建的表吗?

普通表中插入或删除之类的内容会触发?!


阅读 139

收藏
2021-05-23

共1个答案

一尘不染

试试这个:

CREATE TRIGGER TRG_TABLES
ON DATABASE 
AFTER 
    CREATE_TABLE
AS 
BEGIN
    SET NOCOUNT ON

    DECLARE @TABLE_NAME SYSNAME

    SELECT 
        @TABLE_NAME = EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]','SYSNAME')

    ...


END
GO
2021-05-23