oracle数据库字段NULL赋值情况处理

在存储过程中常用到字段值赋给变量的情况,此时主要会出现两种情况

一,能查询到记录

记录中字段值又分两种情况

1、字段有值

2、字段值为NULL

二、查询不到记录,COUNT返回为0


--一下是代码测试情况

-测试
sql>selectempno,sal,commfromempwhereempno=7369;

EMPNOSALCOMM
------------------------------
7369800
sql>declarev_empnonumber(6);
2v_salnumber(6);
3v_commnumber(6);
4begin
5selectempno,commintov_empno,v_sal,v_commfromempwhereempno=7369;
6dbms_output.put_line('empno='||v_empno);
7dbms_output.put_line('sal='||v_sal);
8dbms_output.put_line('comm='||v_comm);
9end;
10/
empno=7369
sal=800
comm=
5selectcommintov_commfromempwhereempno=7369;
6dbms_output.put_line('comm='||v_comm);
7end;
8/
sql>select*fromempwhereempno=7368;
未选定行

--未查询到记录,直接赋值则会抛出异常,针对这种情况,应做异常情况判断处理


5selectcommintov_commfromempwhereempno=7368;
declarev_empnonumber(6);
*
第1行出现错误:
ORA-01403:未找到数据
ORA-06512:在line5
sql>declarev_commnumber(6);
2begin
3selectcommintov_commfromempwhereempno=7368;
4dbms_output.put_line('comm='||v_comm);
5exception
6whenothersthen
7dbms_output.put_line('no_date_found');
8end;
9/
no_date_found
PL/sql过程已成功完成。
--处理空记录情况
2v_cntnumber(6);
3begin
4selectcount(*)intov_cntfromempwhereempno=7368;
5ifv_cnt>0then
6selectcommintov_commfromempwhereempno=7368;
7dbms_output.put_line('comm='||v_comm);
8endif;
9exception
10whenothersthen
11dbms_output.put_line('no_date_found');
12end;
13/
PL/sql过程已成功完成。

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...