在存储过程中有如下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
可否这样?