oracle 用户密码过期后不允许修改密码
2012-02-04 12:09
260 查看
--本人是初学者,不知道还有没有更好的方法
create table PASSWD_CHANGED
(
USER_NAME VARCHAR2(20),
OLD_PASSWD VARCHAR2(100),
NEW_PASSWD VARCHAR2(100)
)
CREATE OR REPLACE FUNCTION my_password_verify(username VARCHAR2,
password VARCHAR2,
old_password VARCHAR2)
RETURN BOOLEAN IS
v_days NUMBER(20);
BEGIN
EXECUTE IMMEDIATE 'SELECT TRUNC(expiry_date)-TRUNC(SYSDATE) FROM DBA_USERS u WHERE u.username=:username'
INTO v_days
USING username;
IF v_days < 1 THEN
raise_application_error(-20001, 'the password has expired!'||chr(10)||'Contact :13611111111');
END IF;
/*
IF LENGTH(password) < 6 THEN
raise_application_error(-20001,'Password must be at least 6 characters long');
END IF;
*/
INSERT INTO passwd_changed VALUES (username, old_password, password);
RETURN(TRUE);
END;
create table PASSWD_CHANGED
(
USER_NAME VARCHAR2(20),
OLD_PASSWD VARCHAR2(100),
NEW_PASSWD VARCHAR2(100)
)
CREATE OR REPLACE FUNCTION my_password_verify(username VARCHAR2,
password VARCHAR2,
old_password VARCHAR2)
RETURN BOOLEAN IS
v_days NUMBER(20);
BEGIN
EXECUTE IMMEDIATE 'SELECT TRUNC(expiry_date)-TRUNC(SYSDATE) FROM DBA_USERS u WHERE u.username=:username'
INTO v_days
USING username;
IF v_days < 1 THEN
raise_application_error(-20001, 'the password has expired!'||chr(10)||'Contact :13611111111');
END IF;
/*
IF LENGTH(password) < 6 THEN
raise_application_error(-20001,'Password must be at least 6 characters long');
END IF;
*/
INSERT INTO passwd_changed VALUES (username, old_password, password);
RETURN(TRUE);
END;
相关文章推荐
- 修改oracle用户密码永不过期修改
- 修改oracle用户密码永不过期
- 修改oracle用户密码永不过期修改
- Oracle11g之用户密码过期与修改用户密码|ArcSDE10因oracle用户密码过期而无法连接oracle数据库问题的解决
- Oracle 输入错误次数修改、用户解锁、密码过期
- Oracle查看用户密码过期,修改永不过期
- 修改oracle用户密码永不过期修改
- 修改oracle用户密码永不过期的方法
- 修改oracle用户密码永不过期
- 修改oracle用户密码永不过期修改
- 转 修改oracle用户密码永不过期
- 修改oracle用户密码永不过期修改
- 修改oracle用户密码永不过期修改
- 修改oracle用户密码永不过期
- 修改oracle用户密码永不过期
- 修改oracle用户密码永不过期修改
- 如何修改Oracle用户密码用不过期
- 修改oracle用户密码永不过期
- 修改oracle用户密码永不过期
- 修改oracle用户密码永不过期修改