未找到数据 怎么解决

ddangerous169 2006-02-26 10:43:32
Select gxbj Into v_GXBJ From DJ_JTSJ Where jh=p_JingHao;
如果这一句出错,我想给 v_GXBJ 赋一个值,并继续执行下面的语句.
if GXBJ =......
....


这种情况怎么解决?
...全文
625 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddangerous169 2006-02-27
  • 打赏
  • 举报
回复
刚把这个贴子放到我的blog中,竞然出现这样的提示:
您看到这个页面
肯定是什么地方出错了
人难免会犯错
机器亦然
如果您没有搞错地址
多半是现在系统太忙
稍等片刻再试试
ddangerous169 2006-02-27
  • 打赏
  • 举报
回复
谢谢大家,问题解决!
wangzk0206 2006-02-27
  • 打赏
  • 举报
回复
可以用异常处理
NO_DATA_FOUND来处理

1 create or replace procedure p_test
2 as
3 v_G VARCHAR2(10);
4 begin
5 begin
6 select name into v_G from test where id =1;
7 exception
8 when no_data_found then
9 v_G:='hhh';
10 end;
11 dbms_output.put_line(v_G);
12* END;
SQL> /

过程已创建。

SQL> exec p_test

PL/SQL 过程已成功完成。

SQL> set serveroutput on
SQL> exec p_test;
hhh

PL/SQL 过程已成功完成。
不知道这样能否是你想要的亚
zlz_212 2006-02-27
  • 打赏
  • 举报
回复
begin
--加入匿名块,进行处理
begin
Select gxbj Into v_GXBJ From DJ_JTSJ Where jh=p_JingHao;
EXCEPTION WHEN NO_Data_Found THEN
v_GXBJ:=4;
end;
--你接下来的语句
end;
ddangerous169 2006-02-26
  • 打赏
  • 举报
回复
这个不出错,但是,怎么执行我下面的代码呢?

当该查询出错时进入错误处理代码.而我的代码了放到该代码段里么?
wumingxiaodi 2006-02-26
  • 打赏
  • 举报
回复
select into 变量 时如果没有符合条件的记录会出错的,可以把语句嵌进块中,用异常捕获
如:
begin
Select gxbj Into v_GXBJ From DJ_JTSJ Where jh=p_JingHao;
EXCEPTION/*处理异常*/
WHEN OTHERS THEN
null;
end;
ddangerous169 2006-02-26
  • 打赏
  • 举报
回复
找不到这条记录
我先赋了初值v_GXBJ ='否',执行到这一段还是出错.
lee_billiy 2006-02-26
  • 打赏
  • 举报
回复
是出错还是找不到这条记录?Select NVL(gxbj,4) Into v_GXBJ From DJ_JTSJ Where jh=p_JingHao;这样找不到记录的话就给变量v_GXBJ赋了初值4。

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧