Bonjour tout le monde;
Voici ma procédure qui compile nikel-chrome :
Or lorsque je la teste :
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 PROCEDURE debloque_user(p_nom_user IN VARCHAR2) IS Requete varchar2(250); v_ddl_cmd varchar2(4000); v_new_pwd varchar2(30); BEGIN Requete:='ALTER USER '||p_nom_user||' ACCOUNT UNLOCK'; Execute immediate Requete; v_new_pwd := pkg_otp.CreateRandomPassword; Requete:='UPDATE utilisateur_ora SET UTO_PWD_GPL='||v_new_pwd||' WHERE UTO_USR_GPL='||p_nom_user||''; Execute immediate Requete; Requete:='ALTER USER '||p_nom_user||' IDENTIFIED BY '||v_new_pwd||''; Execute immediate Requete; COMMIT; END debloque_user;
J'obtiens l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 execute pkg_otp.debloque_user('USER001');
Un desc de la table UTILISATEUR_ORA :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Erreur commençant à la ligne 10 de la commande : execute pkg_otp.debloque_user('USER001') Rapport d'erreur : ORA-00904: "USER001" : identificateur non valide ORA-06512: à "USER.PKG_OTP", ligne 158 ORA-06512: à ligne 1 00904. 00000 - "%s: invalid identifier" *Cause: *Action:
Je ne comprends pas, je lui donne bien un varchar2 en parametre. Les noms de colonnes sont corrects.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Nom NULL Type --------------- -------- ----------------- UTO_SEQ NOT NULL NUMBER(38) UTO_USR_GPL VARCHAR2(50 CHAR) UTO_PWD_GPL VARCHAR2(30 CHAR) UTO_TYP_USR VARCHAR2(30 CHAR) UTO_USR_NAME NOT NULL VARCHAR2(8) UTO_JAN_SEQ NUMBER(38) UTO_STA NOT NULL VARCHAR2(30) UTO_DATE_STATUT TIMESTAMP(6) UTO_ID_ORA NUMBER(10) UTO_ID_THREAD NUMBER(10)
Help !![]()
Partager