-
-
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;
-
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.
-
Zitat von Fuerchau
Leider ist SQL nicht generisch.
ja,ich weiß das und das ist sehr schade.
samsung galaxy s6 edge etui
Similar Threads
-
By Sebastian85 in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 11-03-15, 07:26
-
By froehlich in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-02-03, 14:37
-
By lorenzen in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 11-01-02, 13:49
-
By Liebhoff in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 20-11-01, 19:52
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks