Bonjour,

Je n'arrive pas à faire un grant sur un utilisateur dans ma procédure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
s_CreateUser:='CREATE USER ' || sUserName || ' WITH PASSWORD ' || quote_literal(sPassword);
s_AffecteRoleUti:='GRANT MONROLE TO ' ||  sUserName || ' WITH ADMIN OPTION';
 
Execute s_CreateUser;
Execute s_AffecteRoleUti;
L'erreur retournée est "le rôle "MONROLE" n'existe pas. Mais ce rôle existe bien dans ma base...

Si je remplace le sUserName par quote_literal(sUserName ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
s_AffecteRoleUti:='GRANT MONROLE TO ' ||  quote_literal(sUserName ) || ' WITH ADMIN OPTION';
j'ai : "erreur de syntaxe sur ou près de " 'username' "

Auriez-vous une idée sur ce qui ne va pas ?

Merci