[PL/SQL] connect en SQL dynamique
Bonjour,
je souhaite créer n utilisateurs avec pour chacun la même base.
Je procède comme suit:
Je créé un utilisateur user_i, je me connecte avec ses ids et je lance un script pour la base.
Voici ma boucle:
Code:
1 2 3 4 5 6 7 8 9 10
|
for i in 1..n loop
dbms_output.put_line('CREATION DE L''UTILISATEUR '||i);
execute immediate 'conn system/manager';
execute immediate 'DROP USER user'||i' CASCADE';
execute immediate 'CREATE USER user'||i' IDENTIFIED BY pass'||i;
execute immediate 'GRANT CONNECT, DBA, RESOURCE TO user'||i;
execute immediate 'conn user'||i||'/pass'||i;
execute immediate 'start /opt/oracle/scripts/db.sql';
end loop; |
J'ai l'erreur suivante:
Code:
1 2 3 4 5
| declare
*
ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-06512: at line 23 |
à priori l'erreur vient du execute immediate 'connect system/manager'
Quelqu'un pourrait me dire comment contourner cela ?
J'ai trouvé ceci sur le web mais ça ne m'a pas trop convaincu :
http://www.thescripts.com/forum/thread65749.html
Merci d'avance.