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.