Datenbank: "Create Trigger"
-
Hallo,
wie kann ich mit den DB-Componenten des C-Builders einen Trigger erzeugen ?
Folgender Code erzeugt den Trigger für eine ORACLE Datenbank, wenn ich ihn im SQL-Plus laufen lasse.-- BEFORE INSERT TRIGGER "TIB_IT_CATERING_ARTICLE" FOR TABLE "IT_CATERING_ARTICLE" CREATE OR REPLACE TRIGGER TIB_IT_CATERING_ARTICLE BEFORE INSERT ON IT_CATERING_ARTICLE FOR EACH ROW BEGIN IF :NEW.ARTICLE_ID IS NULL OR :NEW.ARTICLE_ID < 1 THEN SELECT SEQ_IT_SYS_UNI_NO.NEXTVAL INTO :NEW.ARTICLE_ID FROM DUAL; END IF; END; /
In einer TQuery funktioniert das so nicht.
Liegt das an einer falschen Syntax oder funktionier das generell nicht ?Danke für eure Antworten
Mikel
-
Hallo,
fall's es jemanden interessiert, die Lösung ist folgende:(f)GENERAL
Delphi uses colons to specify parameters in sql passthrough string (Tqueries).
Some servers also use this character to specify variable types, reference
objects, etc. This might, at first, appear to cause problems with passthrough
statements sent via Delphi’s Tquery component. The solution in this situation
is to use two colons (for example, ::varname) together instead of just one in
your sql statement.Also einfach den ":" durch "::" ersetzen und es läuft.
Gruß
Mikel