--本人是Oracle初学者,不知道还有没有更好的方法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 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12访问V$LOCK视图Oracle 11g出现性能问题Oracle Linux 配置 UDEV SCSI Rules 说明相关资讯 Oracle数据库基础教程
- 在Oracle数据库中插入含有&符号的 (03/06/2013 09:20:14)
- Oracle 执行计划更改导致数据加工 (02/13/2013 14:45:04)
- 判断Oracle Sequence是否存在 (02/13/2013 14:32:26)
| - Oracle数据库中无法对数据表进行 (02/26/2013 14:24:58)
- Oracle 在同一台主机上建立用户管 (02/13/2013 14:40:58)
- Oracle em 无法启动,报not found错 (02/13/2013 14:29:48)
|
本文评论 查看全部评论 (0)