set serveroutput on
CREATE OR REPLACE PROCEDURE charge.SP_ADMINPWD_MODIFY
(
p_Result OUT NUMBER,p_UserName IN VARCHAR2,
p_OldPwd IN VARCHAR2, p_NewPwd IN VARCHAR2
)
IS v_Pwd VARCHAR2(20);
BEGIN
p_Result:=0;
BEGIN
SELECT Password INTO v_Pwd FROM charge_Admin_Info WHERE UserName = p_UserName;
IF v_Pwd != p_OldPwd THEN
p_Result := 6;
RETURN;
END IF;
END;
BEGIN
UPDATE charge_Admin_Info SET Password = p_NewPwd WHERE UserName = p_UserName;
ALTER USER p_UserName identified by p_NewPwd;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
p_Result := 8;