Hinweis: Ich will nicht wissen warum das Statement falsch ist, mein Problem liegt woanders!!
Wenn ich dieses Statement
Delphi-Quellcode:
CREATE TRIGGER AutoIncAdresse FOR admin.FORMFELDER AFTER INSERT EXECUTE
(
IF new.RECHTE_ID IS NULL THEN
SELECT MAX(RECHTE_ID) + 1 INTO :new.RECHTE_ID FROM admin.FORMFELDER
ELSE
IF new.RECHTE_ID <= 0 THEN
SELECT MAX(RECHTE_ID) + 1 INTO :new.RECHTE_ID FROM admin.FORMFELDER
ENDIF;
IF new.RECHTE_ID IS NULL THEN
:new.RECHTE_ID := 1;
ENDIF
)
durch die TADOQuery jage krieg ich folgenden Fehler:
Code:
Ein Parameterobjekt ist nicht ordnungsgemäß definiert. Inkonsistente oder unvollständige Informationen wurden angegeben
Wenn ich das jedoch im
SQL Studio ausführe krieg ich diesen Fehler:
Delphi-Quellcode:
---- Error -------------------------------
Auto Commit:
On,
SQL Mode: Internal, Isolation Level: Committed
Syntax error
or access violation;-5015 POS(332) Missing keyword:
WHILE,
IF,EXECUTE,SELECT,RETURN,DECLARE,
CASE,UPDATE,TR.
CREATE TRIGGER AutoIncAdresse
FOR admin.FORMFELDER AFTER INSERT EXECUTE
(
IF new.RECHTE_ID
IS NULL
THEN
SELECT MAX(RECHTE_ID) + 1 INTO :new.RECHTE_ID FROM admin.FORMFELDER
ELSE
IF new.RECHTE_ID <= 0
THEN
SELECT MAX(RECHTE_ID) + 1 INTO :new.RECHTE_ID FROM admin.FORMFELDER
ENDIF;
IF new.RECHTE_ID
IS NULL
THEN // "new.RECHTE_ID" hat hier ne rote Schrift
:new.RECHTE_ID := 1;
ENDIF
)
Wie krieg ich es hin das ich diese Meldung auch in Delphi erhalte? Brauch ich dafür ne andere
Query??