Bonjour,
Je souhaite donc créer une procédure qui me permettra d'affecter un rôle (genre administrateur) à un utilisateur.
D'une manière générale, ma procédure se comporterait comme cela :
-le premier select correspond à un test si l'utilisateur et le rôle existe, et mon parm me permettra de dire si oui ou non ce rôle est affecté et/ou pouvoir le désactiver,
-les selects du CASE correspondent à un test de ma table où je veux faire l'insert ou update s'il y a présence ou non de l'utilisateur et du rôle dans d'autres tables.
Dans le cas de mon premier CASE, s'il n'y a aucun enregistrement, il devrait faire l'insert mais ne le fait pas.
Pourtant, ces selects isolés me retournent bien ce que je souhaite.
Est-ce-qu'au niveau de la structuration, cela vous paraît correcte ?
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 CREATE OR REPLACE PROCEDURE procedure_name(...parm type...) --variables-- var... BEGIN SELECT... CASE WHEN parm=1 THEN SELECT...INTO var IF var = 1 THEN raise... ELSEIF var=0 THEN update... ELSE <----pbs à ce niveau insert END IF; WHEN parm=0 THEN SELECT...INTO var IF var=0 THEN raise... ELSE update... END IF; END CASE; END;
Partager