在数据库编程中,select into 语句可以将数据库的某些值赋值给程序的变量,使用起来非常方便。但很多时候也会遇到查询出来没有记录的情况,这时程序会出错。
本文UncleToo给大家分享一个非常简单的处理方法:使用max()、min()或avg()等聚合函数,再配合nvl()函数一起使用即可解决。
看下面示例:
select 没有数据的时候:
1
|
select
t.prj_type_id
into
:id
from
PRJ_C_TYPE t
where
t.prj_type_name=
'abc'
|
使用聚合函数后:
1
|
select
nvl(
max
(t.prj_type_id),0)
into
:id
from
PRJ_C_TYPE t
where
t.prj_type_name=
'abc'
|
相比后我们会发现,同样的查询条件,使用max和nvl后,将原来没有记录转换为有一条记录,并且值为0。