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;Cursor游标

解决方案 »

  1.   

    报错内容是什么???把dbms_output.put_line(x_user_id || '-----------' || x_user_nam);这句放在exit when 后面试试罗
      

  2.   

    declare
      x_user_id  varchar2(21);
      x_user_nam varchar2(22);
      cursor user_info(user_info_id in varchar2) is -- user_info_id in varchar2指定参数类型 
        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前,防止重复输出 
        dbms_output.put_line(x_user_id || '-----------' || x_user_nam);
      end loop;
      close user_info;
    end; 
      

  3.   

    您好  为什么varchar2类型加个长度会报错呢?????????
      

  4.   

    您好  为什么varchar2类型加个长度会报错呢?????????
    游标参数在指定数据类型时,不能使用长度约束
      

  5.   

    您好  为什么varchar2类型加个长度会报错呢?????????
    游标参数在指定数据类型时,不能使用长度约束
    谢谢啦!