Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Trigger zur Laufzeit Syntax ? (https://www.delphipraxis.net/104023-trigger-zur-laufzeit-syntax.html)

haentschman 26. Nov 2007 11:41

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:
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
und damit habe ich es aus der Anwendung heraus versucht...

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;
...der Compiler meckert immer über das End in Zeile 5 :gruebel:

...viel kann es nicht sein... aber ich habe schon diverse Varianten probiert wie QuotedStr etc.

Danke für Eure Hilfe...

haentschman 26. Nov 2007 11:52

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