![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: Zeos
Trigger zur Laufzeit Syntax ?
Hallo alle miteinander...
nach Stunden des Suchens und Probierens möchte ich Euch mal wieder belästigen :-D Ich möchte zur Laufzeit einen Trigger in die Tabelle eintragen. - die Syntax des Triggers in der Tabelle ist klar... - der Generator ist erstellt... - die Tabelle ist erstellt so soll der Trigger in der Tabelle ankommen...
Delphi-Quellcode:
und damit habe ich es aus der Anwendung heraus versucht...
create trigger ANLAGEN_BI for ANLAGEN active before INSERT Position 0
as begin if (new.id is null) then new.id = gen_id(idfeld_gen,1) end
Delphi-Quellcode:
...der Compiler meckert immer über das End in Zeile 5 :gruebel:
DMDB.ZQueryDiv.SQL.Text:= 'create trigger ANLAGEN_BI for ANLAGEN active before INSERT Position 0 as ';
DMDB.ZQueryDiv.SQL.Add('begin '); DMDB.ZQueryDiv.SQL.Add('if (new.id is null) then '); DMDB.ZQueryDiv.SQL.Add('new.id = gen_id(idfeld_gen,1) '); DMDB.ZQueryDiv.SQL.Add('end'); DMDB.ZQueryDiv.ExecSQL; ...viel kann es nicht sein... aber ich habe schon diverse Varianten probiert wie QuotedStr etc. Danke für Eure Hilfe... |
Re: Trigger zur Laufzeit Syntax ?
...warum komme ich immer erst darauf, wenn ich schon gepostet habe... :oops:
... in meinem Code fehlte ein ';' in Zeile 4 :wall:
Delphi-Quellcode:
DMDB.ZQueryDiv.SQL.Text:= 'create trigger ANLAGEN_BI for ANLAGEN active before INSERT Position 0 as ';
DMDB.ZQueryDiv.SQL.Add('begin '); DMDB.ZQueryDiv.SQL.Add('if (new.id is null) then '); DMDB.ZQueryDiv.SQL.Add('new.id = gen_id(idfeld_gen,1); '); DMDB.ZQueryDiv.SQL.Add('end'); DMDB.ZQueryDiv.ExecSQL; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz