oracle select into 查詢沒有記錄的解決辦法

select into 語句可以將數據庫的某些值賦值給程序的變量,但很多時候也會遇到查詢出來沒有記錄的情況,這時程序會出錯。
1.可以使用異常捕獲的方式

a number(10);
b number(10);
c varchar(20);
begin
  select age, sex, name into a, b, c from myemp t where t.empno = pno;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
  dbms_output.put_line('捕獲到異常'); 
END;

2.使用聚合函數

常規寫法:

select age into a from emp where empno = 7788

如果查詢不到數據時,into語句就會報異常,這時可以使用聚合函數製造一條爲0的數據行,並賦值給變量。

聚合函數寫法:

select nvl(max(age),0) into a from emp where empno = 7788
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章