Je suis complètement nouveau à Oracle (je viens de MySQL et MSSQL) et je suis novice à JDBC. L'une de mes tables requêtes de création ressemble à ceci:Comment inclure plusieurs commandes dans une requête SQL JDBC à Oracle 10g?
CREATE TABLE "LISTS"
("ID" NUMBER NOT NULL ENABLE,
"NAME" VARCHAR2(1000) NOT NULL ENABLE,
"DOMAIN_ID" NUMBER NOT NULL ENABLE,
CONSTRAINT "LISTS_PK" PRIMARY KEY ("ID") ENABLE
)
/
CREATE OR REPLACE TRIGGER "BI_LISTS"
before insert on "LISTS"
for each row
begin
select "LISTS_SEQ".nextval into :NEW.ID from dual;
end;
/
ALTER TRIGGER "BI_LISTS" ENABLE
/
Lorsque je tente de connection.createStatement().execute()
cette requête, je reçois java.sql.SQLSyntaxErrorException: ORA-00922: missing or invalid option
. Si je supprime les barres obliques, je reçois la même chose. Si j'essaie de les remplacer par des points-virgules, j'obtiens java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
.
Est-il impossible d'inclure plusieurs commandes dans une requête dans JDBC et/ou Oracle? Ou est-ce que je manque juste une sorte de syntaxe pour les séparer?
Ce n'est pas si important qu'ils sont une déclaration (je les avais séparés en trois chaînes comme une solution de contournement avant de poster), je voulais juste voir si je manque quelque chose et/ou le fait mal. Merci! – kobachi
Vous pouvez tromper JDBC avec une syntaxe spécifique à Oracles, mais le modèle objet de JDBC est vraiment conçu pour transmettre des commandes au niveau de l'instruction à la base de données, car chacune aurait potentiellement des réponses/exceptions. – Xailor
Makes sense =) La plupart du temps j'étais confus que le fichier sql qu'Oracle/Apex lui-même crachait était une syntaxe invalide lorsque j'ai essayé de le réexécuter via Apex ou via JDBC. – kobachi