Announcement

Collapse
No announcement yet.

Im Trigger herausfinden wie die Tabelle des Triggers heißt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Im Trigger herausfinden wie die Tabelle des Triggers heißt

    hallo,
    wie kann ich während der Triggerausführung herausfinden wie die Tabelle heißt auf die der Trigger angelegt wurde?

    Code:
    SET @TableName = OBJECT_NAME(@@procID);
    liefert mir leider den Namen des Triggers

    Müsste ich mir dann über weiteres SELECT abfragen zu welcher Tabelle er gehört.

    Code:
    DECLARE @Triggername varchar(128), @TableName varchar(128);
    SET @Triggername = OBJECT_NAME(@@procID);
    
    SELECT    
    @TableName = b.name
    FROM         
    sys.sysobjects AS a INNER JOIN
    sys.sysobjects AS b ON a.parent_obj = b.id
    WHERE     
    (a.xtype = 'TR') AND
    (a.name = @Triggername)
    Zuletzt editiert von openshinok; 23.04.2010, 11:19. Reason: bisheriges SQL hinzugefügt

  • #2
    sys.triggers...

    Comment


    • #3
      Hallo,
      ja so ist es kürzer und ich spar mir ne Variable

      Code:
      SELECT 
      @TableName = OBJECT_NAME(parent_id) 
      FROM         sys.triggers
      WHERE     (object_id = @@procID)

      Comment


      • #4
        evnetuell auch noch mit Namen des Schemas der Tabelle
        Code:
        SET @TableName = ( SELECT  OBJECT_SCHEMA_NAME (Parent_ID) + NCHAR(46)
                                +  OBJECT_NAME (Parent_ID)
                           FROM     sys.triggers 
                           WHERE    object_id = @@PROCID
                         );

        Comment

        Working...
        X