存储过程中, 下面这个简单的语句 在该表(Tab1 )中 没有符合where条件记录的情况下 为什么会报错 走到exception里面, 应该怎么解决啊?
select RESULT into l_Result from Tab1 where SERIALID = l_SerialID;
解决方案 »
- oracle发送http请求
- oracle中如何知道定义的变量类型?
- c++中怎么调用oracle的存储过程?
- 如何在SELECT 中使用nologging可以不写日志提高速度
- 用过oracle发邮件的高手请进!快来抢分!
- 第一次遇到这么怪的问题....
- oracle9i数据库, 为何在用户里面看不到SYSMAN?
- 一个简单问题,如何导出,导入orcale中的表?
- 【期待高手】在[存储过程]中是否可以将数据表的所有记录 spool 到一个文本文件??这个文件是放在了数据库服务器上,还是客户端??
- 安装oracle9i至少需要512MB内存吗?oracle8i呢?
- 触发器中调用存储过程的问题,请大家帮忙
- 急:SQL语句优化问题!
可以先判断一下是否有符合where条件记录,通过查询数量就行,如果数量>0,则执行查询。
IF num > 0 THEN
select RESULT into l_Result from Tab1 where SERIALID = l_SerialID;
ELSE
....
END IF;
IF num > 0 THEN
select RESULT into l_Result from Tab1 where SERIALID = l_SerialID;
ELSE
....
END IF;
select RESULT into l_Result from Tab1 where SERIALID = l_SerialID;改成
select result into l_result from
(select result from tab1 where serialid=l_serialid
union all select null result from dual order by 1)
where rownum=1;
若查询结果为空,则返回空值
IF num > 0 THEN
select RESULT into l_Result from Tab1 where SERIALID = l_SerialID;
ELSE
....
END IF;[/