Chinaunix首页 | 论坛 | 博客
  • 博客访问: 85117
  • 博文数量: 65
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-30 11:16
个人简介

cuug

文章分类
文章存档

2014年(65)

我的朋友

分类: Oracle

2014-05-08 09:44:05

--本人是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;
阅读(269) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~