Trigger Problem MS-SQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Trigger Problem MS-SQL

    Hallo,

    ich habe einen Trigger, der Feldeinträge überwacht. Allerdings finde ich keine möglichkeit mitzuschreiben welches Feld geändert worden ist. So sieht der Trigger im Moment aus:

    PHP-Code:
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- 
    AuthorJan S.
    -- 
    Create date23.06.2008
    -- DescriptionFeldüberwachung
    -- =============================================
    ALTER TRIGGER [dbo].[JFG_Trg_History3
       
    ON [dbo].[tblAS0002]
       
    AFTER UPDATE
    AS 
    DECLARE @
    rc AS int
    SET 
    @rc = @@ROWCOUNT
    IF @rc=0
    Return
    IF @
    rc 1
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    --- 
    SET NOCOUNT ON;
        -- 
    Insert statements for trigger here
    INSERT INTO 
    [dbo].[tblAS0002_EX0006SELECT
    Id
    ,IdUserModify,current_timestamp,IdUserModify,current_timestamp,UID,
    NULLNULL'!!FELDNAME!!' FROM inserted
    END
    ELSE
    BEGIN
    DECLARE @Id AS INT , @IdUserModify AS INT
    DECLARE c CURSOR FAST_FORWARD FOR
    SELECT Id,IdUserModify FROM inserted
    OPEN c 
    FETCH NEXT FROM c INTO 
    @Id,@IdUserModify
    WHILE @@FETCH_STATUS 0
    BEGIN
    INSERT INTO 
    [dbo].[tblAS0002_EX0006]
    (
    IdAddress,IdUserCreate,TimeCreate,IdUserModify,TimeModify,FeldVALUES 

    (@Id,@IdUserModify,current_timestamp,@IdUserModify,current_timestamp,'Te
    st_loop'
    )
    FETCH NEXT FROM c INTO @Id,@IdUserModify
    END
    CLOSE c
    DEALLOCATE c
    END 
    So, da wo !!Feldname!! steht, muss der geänderte Feldname eingetragen werden. Hat da jemand schonmal was mit gemacht und einen Tip für mich?

    Gruß
    Jan

  • #2
    Ähm, was meinst du mit "geänderte Feldname"? Spaltenname? Warum denn das? Seitwann kann man mit UPDATE einen Spaltennamen ändern?

    Wenn du aber wissen willst, in welcher Spalte geändert wurde, dann hilft dir gern COLUMNS_UPDATED().

    Kommentar


    • #3
      Jau,

      COLUMNS_UPDATED könnte es sein, mal eben anschaun. Dank dir
      Zuletzt geändert von Skrok; 23.06.2008, 18:01.

      Kommentar

      Lädt...
      X