Bonjour,

je fait une maquette avec oracle 10g et mon objectif est de créer des comptes utilisateurs automatiquement, à partir de la table "conducteur" de ma BDD, en utilisant une boucle WHILE

Le nom du compte correspondra au "nom_conducteur", et le mot de passe au "prenom_conducteur".
En utilisant les divers tuto j'en suis arrivé au résultat suivant :

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
24
25
26
27
28
29
DECLARE /*je declare les variables dont j'ai besoin*/
	var1 varchar(50),
	var2 varchar (50),
	login varchar (12),
	pwd varchar (12);

DECLARE /*je declare mon curseur qui contient le résultat de la requette suivante*/
curseur CURSOR for
	SELECT nom_conducteur, penom_conducteur
	FROM conducteur
	ORDER BY nom_conducteur;

BEGIN
	OPEN curseur;
	FETCH curseur INTO @login, @pwd;/*je remplis les variables qui vont contenir nom_conducteur dans login et prenom_conducteur dans pwd*/

	WHILE @@FETCH_STATUS=0
	/*la varible 1 va contenir la synthaxe de création de compte*/
		@var1:='create user' ||login||;
		@var1:=@var1||'identified by' ||pwd;
		execute immediate @var1;
	/*la variable 2 va contenir la synthaxe d'attribution des droits aux comptes*/	
		@var2:='grant connect to' ||login;
		execute immediate @var2;
		
	CLOSE curseur;
DEALLOCATE curseur;
END;
Néanmoins deux problème se posent :
-le premier : comme je débute en SQL, je ne sais pas comme utiliser ce code dans ma BDD
-le second : je ne suis pas sûre de la syntaxe de mon code et je ne peux la vérifier parce que je ne sais pas comme on l'utilise dans une BDD

Voila si qlqun peut me dépanner ça serait sympa