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 :
Néanmoins deux problème se posent :
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;
-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
Partager