[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    . wer hier Probleme hat, macht sie sich selber:
    - die Datei weiß immer qualifiziert wo ihr Trigger steht
    - ein SQL Trigger weiß immer welche Datei (eine einzige!!!) er triggert
    - wenn ich jetzt noch den Trigger da platziere, wo er hingehört (in dieselbe Lib wie die Datei), dann weiß auch der CRTDUP oder whoever was er zu tun hat!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2015
    Beiträge
    5
    Danke für die rege Diskussion.

    @BenderD: Jede Tabelle hat den Trigger selbst in der Bibliothek. Also es gibt für Tabelle A einen eigenen Trigger im Schema X und es gibt für die Tabelle A einen Trigger im Schema Y. Der SQL-Code des Triggers unterscheided sich aber nicht, diesen will ich eben hinsichtlich der Ermittlung der Bibliothek generisch halten.

    @B.Hauser: Wieso ich die Bibliothek brauche? Ich will bestimmte Änderungen der Daten in Tabelle A (aus dem Schema X und Y) in einer eigenen Tabelle mit protokollieren. Hier ist es für mich interessant woher diese Änderung stammt, also entweder von Tabelle A aus Schema X oder von Tabelle A aus Schema Y.

    @Fuerchau: Ich habe das jetzt auch probiert selbst den Fehler auszulösen und dann mittels GET DIAGNOSTIC das TRIGGER_SCHEMA in eine Variable zu speichern. Leider funktioniert auch das nicht.

    Hier nochmals ein vereinfachtes Beispiel:

    Code:
    CREATE TRIGGER T_TSTFILE99_UPDATE
            AFTER UPDATE ON TSTFILE99
    REFERENCING OLD AS O
                        NEW AS N
        FOR EACH ROW
        MODE DB2SQL
        SET OPTION  ALWBLK = *ALLREAD ,
        ALWCPYDTA = *OPTIMIZE ,
        COMMIT = *NONE ,
    DYNDFTCOL = *NO ,
        DYNUSRPRF = *USER ,
        SRTSEQ = *HEX
    
    
        BEGIN ATOMIC
    
            declare sSchemaName VARCHAR(128);    
    
    
            DECLARE CONTINUE HANDLER FOR SQLSTATE '27001'
            begin
              GET DIAGNOSTICS CONDITION 1 sSchemaName = TRIGGER_SCHEMA;
            end;
    
    
            SIGNAL SQLSTATE '27001' SET MESSAGE_TEXT = 'Request TRIGGER_SCHEMA';
    
    
        INSERT INTO MYLOG (ELLIB, ELOLDVAL, ELNEWVAL)
    
        VALUES (sSchemaName, O.VALUE, N.VALUE);
    
    
    END;          

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Leider ist SQL nicht generisch.
    Dein "Insert into Mylog" muss da ja auch eher qualifiziert arbeiten.

    Jetzt hängt es eigentlich von deiner Umgebung ab, wie die denn eingerichtet ist.
    Für SQL-Naming *SQL kann man "current Schema" abfragen, das ist dann die Default-Lib.

    Für deine Änderungs-Herkunft kannst du es auch einfacher haben.
    Dein Trigger bleibt so und schreibt die Änderungen in das jeweilige Log.

    Per View

    select 'A', a.* from a/myfile a
    Union all
    select 'B', b.* from b/myfile b

    kannst du die Protokollsätze dann zusammenfassen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Xiaoguo3 Besucher/Guest
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Leider ist SQL nicht generisch.
    ja,ich weiß das und das ist sehr schade.






    samsung galaxy s6 edge etui

Similar Threads

  1. SQL-Trigger an PF
    By Sebastian85 in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 11-03-15, 07:26
  2. Grundkonzept Trigger
    By froehlich in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-02-03, 14:37
  3. Trigger ab 5.1
    By lorenzen in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 11-01-02, 13:49
  4. Trigger Programme
    By Liebhoff in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 20-11-01, 19:52
  5. Trigger / ILE RPG
    By Frank Pusch in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-05-01, 09:34

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •