作业,不会,急!!!!
创建函数verify_function 。
要求:
该函数提供限制:
口令长度至少为4;
口令不能和用户名相同;
口令至少由字母,数字,一个符合组成;(特殊符号:!"#$%&()``*+,-/:; <=>?_)
口令不能是一个简单的明显的单词;(单词:'welcome', 'database', 'account', 'user', 'password', 'oracle', 'computer', 'abcd')
口令至少有3个字符与以前的口令不同;
该函数提供三个varchar2类型的输入参数,分别是:username、password、old_password;
该函数返回boolean类型,即口令是否校验成功。
创建函数verify_function 。
要求:
该函数提供限制:
口令长度至少为4;
口令不能和用户名相同;
口令至少由字母,数字,一个符合组成;(特殊符号:!"#$%&()``*+,-/:; <=>?_)
口令不能是一个简单的明显的单词;(单词:'welcome', 'database', 'account', 'user', 'password', 'oracle', 'computer', 'abcd')
口令至少有3个字符与以前的口令不同;
该函数提供三个varchar2类型的输入参数,分别是:username、password、old_password;
该函数返回boolean类型,即口令是否校验成功。
解决方案 »
- 2条分页,求差别,结果不一样,rownum注意什么地方
- 关于oracle数据库的 dblink问题
- 求教jdbc 连接字符串怎么写?
- PL/SQL select不到数据不跳入no_data_found异常
- 急助:执行sqlplus时出现ora-12547:tns:丢失联系
- 查询一个表的一条记录
- 按月统计人员总数的SQL语句求教
- win2003,PLSQL Developer加载不上oci.dll?
- update ..... (比较更新)!
- ORA-01480:STR 绑定值的结尾Null字符缺失,网上找了很多,一一不如人意,特此求贴
- ORA-00922: 选项缺失或无效
- oracle 10g安装到85%时报错
这句是什么意思
大体如下
create or replace function func(v_username in varchar2,
v_password in varchar2,
v_old_password in varchar2)
return boolean
as
num number:=0;
begin
if length(v_password)<4
or v_password in (v_username,'welcome','database','account','user','password','oracle','computer','abcd')
or not regexp_like(v_password,'[[:alpha:]]+')
or not regexp_like(v_password,'[[:digit:]]+')
or not regexp_like(v_password,'[[:punct:]]+')
then return false;
end if;
for i in 1..length(v_password) loop
for j in 1..length(v_old_password) loop
if substr(v_password,i,1)=substr(v_old_password,j,1) then goto 1;
end if;
end loop;
num:=num+1;
if num>=3 then return true; end if;
<<1>>
null;
end loop;
return false;
end func;
测试begin
if func('a','bce13)','abcdef') then
dbms_output.put_line(1);
else dbms_output.put_line(0);
end if;
end;这里将 口令至少由字母,数字,一个符合组成 这句理解为必须同时包含字母数字和符号。如果理解有错,则将3个regexp_like部分改下