读书人

关于自定义函数中的错误:select语句未

发布时间: 2012-10-09 10:21:45 作者: rapoo

关于自定义函数中的异常:select语句未找到数据的处理
各位朋友:
有个select语句像这样:
select book.name from book where XXX;
where条件能保证这个select结果一定是一个值,而不是一组值。当select结果是空的,提示没找到数据(可能book表是空表),这种情况下我想对name按默认值来操作;否则,当select结果不空时,就按结果值来操作。我该怎么写呢??求指教。

[解决办法]
nvl2()方法不可以吗?
select nvl2(name,name,'没有记录') from zzgtest?
是我想得太简单了 哈?
[解决办法]
select orders.bsum into book_sum from classes, orders
where orders.term=selected_term and
orders.clno=current_clno and
orders.bno=book_bno;
改成
begin
select orders.bsum into book_sum from classes, orders
where orders.term=selected_term and
orders.clno=current_clno and
orders.bno=book_bno;

EXCEPTION WHEN NO_DATA_FOUND THEN
--没有值时你想干的事情
end;

读书人网 >oracle

热点推荐