Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird - Select oder Stored procedure innerhalb eines Triggers verwenden (https://www.delphipraxis.net/194121-firebird-select-oder-stored-procedure-innerhalb-eines-triggers-verwenden.html)

lowmax_5 19. Okt 2017 10:54

Datenbank: Firebird • Version: V3.0 • Zugriff über: IBDAC

Firebird - Select oder Stored procedure innerhalb eines Triggers verwenden
 
Hallo,

ich möchte innerhalb eines Triggers Daten aus einer anderen Tabelle verwenden, die ich zuvor über ein Select-Statement oder einer StoredProcedure abfrage. Funktioniert dieses so? Aktuell habe ich nur Zugriff auf die Felder der Tabelle selbst mit new.fieldname oder old.Fieldname

bnreimer42 19. Okt 2017 11:14

AW: Firebird - Select oder Stored procedure innerhalb eines Triggers verwenden
 
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.
Delphi-Quellcode:
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)

Delphi-Quellcode:
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.

Delphi-Quellcode:
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.

lowmax_5 19. Okt 2017 14:32

AW: Firebird - Select oder Stored procedure innerhalb eines Triggers verwenden
 
Danke, dass war der entscheidende Tipp!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz