写了一段oracle游标:
declare
x_user_id varchar2(21);
x_user_nam varchar2(22);
cursor user_info(user_info_id varchar2(21)) is
select user_id, user_nam
from posmadm.pmusrinf
where user_id = user_info_id;
begin
open user_info('hkrt_xh');
loop
fetch user_info
into x_user_id, x_user_nam;
dbms_output.put_line(x_user_id || '-----------' || x_user_nam);
exit when user_info%notfound;
end loop;
close user_info;
end;
报错的原因是:
使用带参数的游标的时候不能给参数类型指定长度!!!
另外 dbms要提到exit前面 防止重复输出。。。
改成:
declare
x_user_id varchar2(21);
x_user_nam varchar2(22);
cursor user_info(user_info_id varchar2) is
select user_id, user_nam
from posmadm.pmusrinf
where user_id = user_info_id;
begin
open user_info('hkrt_xh');
loop
fetch user_info
into x_user_id, x_user_nam;
exit when user_info%notfound;
dbms_output.put_line(x_user_id || '-----------' || x_user_nam);
end loop;
close user_info;
end;