0
Ich versuche, einen Trigger zu erstellen, nachdem eine Tabelle in einer Oracle XE 11g-Datenbank erstellt wurde, aber ich bekomme einen fehlenden Parameterfehler.Fehlender IN- oder OUT-Parameter Oracle-Datenbank auf groovy
sql.execute("CREATE TABLE flows (id NUMBER PRIMARY KEY NOT NULL,name VARCHAR2(50) NOT NULL,package VARCHAR2(50) NOT NULL,content VARCHAR2(4000),status VARCHAR2(50),nextRun NUMBER)")
sql.execute('CREATE SEQUENCE id_seq')
sql.call("""
CREATE OR REPLACE TRIGGER id_trig
BEFORE INSERT ON FLOWS
FOR EACH ROW
BEGIN
SELECT id_seq.nextval into :new.id FROM dual;
END;
""")
Logs:
Oct 11, 2016 10:40:45 AM groovy.sql.Sql call
WARNING: Failed to execute:
CREATE OR REPLACE TRIGGER id_trig
BEFORE INSERT ON FLOWS
FOR EACH ROW
BEGIN
SELECT id_seq.nextval into :new.id FROM dual;
END;
because: Missing IN or OUT parameter at index:: 1
Ich weiß nicht, Groovy verwenden sollten, aber es sieht aus wie Ihr Werkzeug versucht, ein Bind-Variable zu übergeben an den ': new.id'. Sie müssen nachsehen, wie Sie dem entkommen oder der Engine signalisieren, dass Sie nichts binden wollen. –
Es scheint, dass Sie Recht haben. Groovy stellt keine Dokumentation zur Verfügung, um dem zu entkommen. Danke trotzdem! – danieljohngomez