--调用存储过程实现更改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;