Oracle-存储过程实现更改用户密码

--调用存储过程实现更改DB用户密码

CREATE OR REPLACE PROCEDURE MODUSERPW(USER_NAME VARCHAR2,USER_PW VARCHAR2)
IS
SQLTXT VARCHAR2(1000);
RESULTS NUMBER;
PASSWD VARCHAR2(30);
BEGIN
PASSWD:=USER_PW;
SELECT COUNT(*) INTO RESULTS FROM DBA_USERS WHERE USERNAME=UPPER(USER_NAME);
IF RESULTS>0 AND PASSWD IS NOT NULL
THEN
DBMS_OUTPUT.PUT_LINE('用户 '||USER_NAME||' 存在!');
SQLTXT:='ALTER USER ' || USER_NAME || ' IDENTIFIED BY ' || USER_PW || '';--DDL结尾的不能加;号
EXECUTE IMMEDIATE SQLTXT;
DBMS_OUTPUT.PUT_LINE('用户 '||USER_NAME||' 修改密码成功!');
ELSIF PASSWD IS NULL THEN

 DBMS_OUTPUT.PUT_LINE('用户 '||USER_NAME||' 密码不能为空!');
ELSE
 DBMS_OUTPUT.PUT_LINE('用户 '||USER_NAME||' 不存在!');
END IF;
END;

原文地址:https://www.cnblogs.com/guipeng/p/6434138.html