executer du PL/SQL depuis JAVA
Bonjour,
Je souhaite exécuter la procédure PL/SQL suivante à partir d'un programme JAVA.
Je ne peux pas la stocker en base et l'appeler depuis le programme java.
Soit je réussi à l'exécuter directement à partir du programme ou sinon je devrais utiliser un Runtime.exec. Ce que je préférerais ne pas faire.
DECLARE
v_dynam varchar2(1000);
cursor fk_cursor is
select table_name, constraint_name from user_constraints where constraint_name like 'FK_%';
BEGIN
for c_row in fk_cursor loop
v_dynam := 'ALTER TABLE '||c_row.table_name||' DROP CONSTRAINT '||c_row.constraint_name;
execute immediate v_dynam;
end loop;
END;
/
show errors;
J'ai essayé ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
m_dbConnection = DriverManager.getConnection(m_strConnectURL, m_strLogin, m_strPassword);
String strProc =
"DECLARE \n" +
" v_dynam varchar2(1000);\n" +
" cursor fk_cursor is\n" +
" select table_name, constraint_name from user_constraints where constraint_name like 'FK_%';\n" +
"" +
"BEGIN\n" +
"" +
" for c_row in fk_cursor loop\n" +
" v_dynam := 'ALTER TABLE '||c_row.table_name||' DROP CONSTRAINT '||c_row.constraint_name;\n" +
" execute immediate v_dynam;\n" +
" end loop;\n" +
"" +
"END;\n" +
"/\n" +
"" +
" show errors;\n" +
"" +
"exit\n";
PreparedStatement psProcToexecute = m_dbConnection.prepareStatement(strProc);
psProcToexecute.execute(); |
mais j'obtiens toujours l'erreur :
java.sql.SQLException: ORA-06550: line 11, column 1:
PLS-00103: Encountered the symbol "/"
Quelqu'un aurait-il une suggestion?