日期:2014-05-17  浏览次数:20718 次

如何给结果返回默认植?
在存储过程中有如下sql语句:

select   decode(id,0,0,id)   as   id   into   result_id   from   tablename   where   condition   =   condition_para;

我希望实现如下功能:
如果查询到记录,则返回查询到的id字段的值。
如果没有查询到记录,则返回0。

我把decode函数改为decode(id,null,0,id),也不能实现。

该查询肯定只会返回一条记录,如果有的话,不用担心into的问题。id的类型是int。

希望各位大虾能提供一个解决方案,谢谢先。

------解决方案--------------------
把decode(id,0,0,id)换成nvl(id,0)试试
还有decode(id,0,0,id)没有意义呀.

------解决方案--------------------
是否可以考虑把select的结果集放入一个游标中(最多就是一条数据和没有数据)?
用游标判断如果有数据就把值赋给result_id,如果没有数据的话result_id就为0

可否这样?