免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1248 | 回复: 2
打印 上一主题 下一主题

请问:动态SQL的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-19 19:26 |只看该作者 |倒序浏览
有一个表:
       ID NAME
--------- --------------------------------------------------------------------------------
        1 dinya
        2 wjb
        3 phs
        4 tam
        5 tl
我写了一个动态SQL语句查询,结果没总是打印“找不到相应数据!”,请问为什么?
create or replace procedure find_info(p_id number) as
       v_id number;
       v_name varchar2(20);
begin
     execute immediate '
             select id,name from dinya_test a
             where a.id=:id'
     using p_id
     returning into v_id,v_name; --动态SQL为查询语句
     dbms_output.put_line(v_name ||'的ID为:'||to_char(v_id));
     exception
     when others then
          dbms_output.put_line('找不到相应数据!');
end find_info;

论坛徽章:
0
2 [报告]
发表于 2006-01-19 19:49 |只看该作者
执行结果如下:
SQL> execute find_info(1);
找不到相应数据!

PL/SQL procedure successfully completed
没有人知道吗?

论坛徽章:
0
3 [报告]
发表于 2006-01-20 09:45 |只看该作者
先去掉这一段
    exception
     when others then
          dbms_output.put_line('找不到相应数据!');

本来Oracle会告诉你为什么错了,你非得不听,把它屏蔽了……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP