Need to list all triggers in SQL Server database with table name and table's schema

后端 未结 19 1001
再見小時候
再見小時候 2020-11-28 17:12

I need to list all triggers in SQL Server database with table name and table\'s schema.

I\'m almost there with this:

SELECT trigger_name = name, trig         


        
19条回答
  •  生来不讨喜
    2020-11-28 18:00

    The just above code is incorrect as shown:

    SELECT 
        sysobjects.name AS trigger_name 
        --,USER_NAME(sysobjects.uid) AS trigger_owner 
        --,s.name AS table_schema 
        --,OBJECT_NAME(parent_obj) AS table_name 
        --,OBJECTPROPERTY( id, 'ExecIsUpdateTrigger') AS isupdate 
        --,OBJECTPROPERTY( id, 'ExecIsDeleteTrigger') AS isdelete 
        --,OBJECTPROPERTY( id, 'ExecIsInsertTrigger') AS isinsert 
        --,OBJECTPROPERTY( id, 'ExecIsAfterTrigger') AS isafter 
        --,OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger') AS isinsteadof 
        --,OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') AS [disabled] 
    FROM sysobjects 
    /*
    INNER JOIN sysusers 
        ON sysobjects.uid = sysusers.uid 
    */  
    INNER JOIN sys.tables t 
        ON sysobjects.parent_obj = t.object_id 
    
    INNER JOIN sys.schemas s 
        ON t.schema_id = s.schema_id 
    WHERE sysobjects.type = 'TR' 
    EXCEPT
    SELECT OBJECT_NAME(parent_id) as Table_Name FROM sys.triggers
    

提交回复
热议问题