Einzelnen Beitrag anzeigen

bnreimer42

Registriert seit: 26. Mai 2013
Ort: Erlangen, Franken
126 Beiträge
 
Delphi 12 Athens
 
#2

AW: Firebird - Select oder Stored procedure innerhalb eines Triggers verwenden

  Alt 19. Okt 2017, 12:14
Klar geht das

1. Du kannst lokale Variablen vor dem Begin des Triggers für die Felder aus der Tabelle anlegen, in denen die Ergebnisse zwischengespeichert werden z.B.
declare variable KEY BIGINT; Dann kannst Du ein Select laufen lassen und die Ergebnisse in den Variablen ablegen mit einem INTO Abschnitt und einem Doppelpunkt als Präfix im SQL-Statement. Damit wählst Du aus, ob eine Variable gemeint ist (mit Doppelpunkt) oder ein gleichnamiges Feld in der Tabelle (ohne Doppelpunkt)

SELECT ID FROM TABLE WHERE FELD='5' INTO :KEY;
Also kein SELECT *!

Und mit dem Wert in KEY kannst Du jetzt was anderes machen, z.B.

NEW.REFERENZ= KEY;
Du musst aber darauf achten, dass der SELECT nur einen Wert zurück gibt oder Du musst in einer FOR SELECT-Schleife Werte abfragen oder mit einem Cursor arbeiten, aber das sind andere Fragen.
Björn Reimer
  Mit Zitat antworten Zitat