Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 用户密码过期后不允许修改密码

--本人是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)
表情: 姓名: 字数