shiaiyouya 2019-03-02 21:52 采纳率: 0%
浏览 868

存储过程实现模糊查询 多条数据的

为什么代码调试显示游标无效

create or replace procedure ss(

bn in book_lab.bookname%type)

as

ccc book_lab%rowtype;

cursor c_l is

 (select * from book_lab where bookname like '%'||'bn'||'%');

begin

    loop

    fetch c_l into ccc;

            exit when c_l%notfound ;

            dbms_output.put_line (ccc.bookname);

    end loop;

end ss;

调试语句

begin

ss('bn');

end;

 建的表是book_lab
有的属性有
bookid  bookname  writerid
  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 08:47
    关注

    根据你提供的代码,似乎存在一个问题,在游标定义中使用了字符串变量 'bn' 而非传入的参数变量 bn。这会导致查询结果为空,因为无法正确模糊匹配到输入的书名。修改方法如下:

    cursor c_l is 
      select * from book_lab where bookname like '%'||bn||'%';
    

    同时,你可以在代码中增加一些错误处理来跟踪问题所在,如:

    begin
    
      ss('The Lord of the Rings');
    
    exception
      when others then
        dbms_output.put_line(SQLERRM);
    
    end;
    

    这样可以在调试时输出问题所在的具体错误信息,帮助你更好地排查和解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多