2015-10-02 1 views
1

Je suis en train de modifier le mot de passe d'un utilisateur dans plsql:Impossible de modifier le mot de passe

DECLARE 
BEGIN 

ALTER USER BOB IDENTIFIED BY PASS123; 

END; 

Je continue à obtenir l'erreur lorsque je crée et ne peux pas faire ce mal:

ORA-06550: ligne 4, colonne 1: PLS-00103: rencontré le symbole « ALTER » quand attend une des opérations suivantes: (Début cas déclarer sortie pour goto si augmentation pragma nulle mod de boucle de retour mise à jour de sélection tandis qu'avec < < suite fermer fermer rrent supprimer chercher Inserer cadenas ouvert rollback SAVEPOINT sql exécuter engagement forall tuyau fusion purge

Répondre

2

Selon doc

SQL uniquement dynamique peut exécuter les types de déclarations dans unités de programme PL/SQL suivantes:

  • déclarations de langage de définition de données (DDL) telles que CREATE, DROP, GRANT, et REVOKE

  • déclarations telles que ALTER SESSION et SET ROLE

  • langue de contrôle de session (SCL) La clause TABLE dans le SELECT STATEM

DECLARE 
BEGIN 

EXECUTE IMMEDIATE 'ALTER USER BOB IDENTIFIED BY PASS123'; 

END; 
+1

BELLE, ça marche, merci beaucoup! Je ne peux pas accepter la réponse pour encore 10 minutes. – user2924127

+0

@ user2924127 Je vais attendre 10min puis;) – lad2025

0

Vous pouvez utiliser des instructions DDL (modifier, créer, accorder, etc) sans bloc de début-fin.

ALTER UTILISATEUR BOB IDENTIFIÉ PAR PASS123;