-
SQL-Trigger im Navigator erstellen
Hallo zusammen,
ich habe bereits den ganzen Tag gesucht aber nicht die richtige Antwort gefunden.
Ich habe bereits Trigger in Verbindung mit RPG eingesetzt. Das Thema ist mir also nicht vollkommen fremd.
Nun versuche ich über den iSeriesNavigator einen SQL-Trigger zu erstellen der nach jeglicher Änderung die Daten von der DB2-Datei in einer SQL-Tabelle kopiert. Beide Dateien haben den gleichen Satzaufbau. Nun komme ich nicht weiter da es offensichtlich an SQL-Erfahrung mangelt.
Wie bekomme ich diesen einen Datensatz per SQL von Tabelle a nach tabelle B?
Danke für eure Hilfe
-
Mittels einer klassischen Insert-Anweisung:
insert into mytable (f1, f2, ...)
values(before.f1, before.f2, ...)
before = Prefix für dein Before-Immage.
-
 Zitat von Fuerchau
Mittels einer klassischen Insert-Anweisung:
insert into mytable (f1, f2, ...)
values(before.f1, before.f2, ...)
before = Prefix für dein Before-Immage.
Danke.
Das mit dem Insert klappt.
INSERT INTO LABORDA . LAUKO1SQ ( LKFIRM , LKAUFT )
Aber die Values Zuweisung bekomme ich nicht hin.
values(LAUKOTSTPF.LKFIRM, LAUKOTSTPF.LKAUFT)
Fehlermeldung:
Nachricht: [SQL0312] Variable LKFIRM nicht definiert oder nicht verwendbar.
Eines ist sicher: In der Datei LAUKOTSTPF befinden sich das Feld LKFIRM
Muss ich vorher noch mit einer Select-Anweisung den letzten hinzugefügten Datensatz ermitteln?
-
Poste mal den SQL Code von Deinem Trigger (vor allem den Part mit Referencing OLD/NEW Row as).
Der Correlation-Name, der hinter as angegeben wird muss bei der Qualifizierung der Values-Werte verwendet werden (und nicht der Datei-Name!).
Wenn beide Tabellen tatsächlich den gleichen Aufbau, die gleichen Feld-Namen in der gleichen Reihenfolge haben, kannst Du auch mal die folgende Syntax ausprobieren :
Code:
Insert Into NewFile 1 Rows Values(Old.*);
... ist nicht getestet und könnte deshalb auch schief gehen!
Birgitta
-
Herzlichen Dank.
Es hat jetzt funktioniert.
Ich hatte im iNav keinen Eintrag in "Korrelationsname für neue Zeile" angegeben.
Hier der generierte SQL-String:
/* SQL-Auslöser LABORDA.LAUKO1 wird erstellt */
CREATE TRIGGER LABORDA.LAUKO1 AFTER INSERT ON LABORDA.LAUKO1PF REFERENCING NEW a FOR EACH ROW BEGIN ATOMIC
INSERT INTO LABORDA . LAUKO1SQ
(LKFIRM,
LKAUFT,
...
LKUSER,
LKSTAT)
VALUES
(A . LKFIRM,
A . LKAUFT,
...
A . LKUSER ,
A . LKSTAT ) ;
END;
Similar Threads
-
By Jenne in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 19-01-07, 09:24
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By bigmoon in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 14-09-06, 18:26
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By GHoffmann in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 07-07-05, 09:18
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