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 :
mais j'obtiens toujours l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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();
java.sql.SQLException: ORA-06550: line 11, column 1:
PLS-00103: Encountered the symbol "/"
Quelqu'un aurait-il une suggestion?
Partager