|
谢谢!有没有增加用户,删除用户的例子啊?麻烦一下最初由 young107 发布
[B]如果是指改变密码的过程,我倒有个现成的。
过程一,功能是转换字符串。
create or replace procedure trantopass
(in_pass IN varchar2,
out_pass OUT varchar2)
as
user_pass varchar2(20);
len_pass number;
counter number;
begin
user_pass := upper(in_pass);
len_pass := length(user_pass);
counter :=1;
out_pass :=chr(ceil(ln(ascii(substr(user_pass,counter,1))+5)*(20+counter)));
for counter in 2..len_pass loop
out_pass :=out_pass||chr(ceil(ln(ascii(substr(user_pass,counter,1))+5)*(20+counter)));
end loop;
end;
过程2,功能是改变密码,调用过程1
create or replace procedure REGIEST
(in_user_id IN varchar2,
in_user_old_pass IN varchar2,
in_user_new_pass IN varchar2,
out_succ OUT number)
as
table_pass varchar2(20);
old_pass varchar2(20);
new_pass varchar2(20);
begin
ht_dba.trantopass(in_user_old_pass,old_pass);
ht_dba.trantopass(in_user_new_pass,new_pass);
select password into table_pass from worker where rtrim(ltrim(workercode)) = rtrim(ltrim(in_user_id));
if table_pass = old_pass or table_pass is null then
update worker set password = new_pass where rtrim(ltrim(workercode)) = rtrim(ltrim(in_user_id));
out_succ := 1;
else
out_succ := 0;
end if;
end; [/B] |
|