create
orreplace
function getstkcode(p_gzcode varchar2)
return varchar2 as
v_stkcode varchar2(
100)
;begin
with temp_kvs_stkgzcode as
(select
*from srv_kvs_stkgzcode)
select stkcode
into v_stkcode
from temp_kvs_stkgzcode a
where a.gzcode = p_gzcode and rownum =1;
return v_stkcode;
exception
when no_data_found then v_stkcode :=p_gzcode;
return v_stkcode;
end;
如果根據入參執行sql查不到資料,就把入參返回給出參;
如果sql查不到資料,into的時候就會報異常:no data found,該處為異常並不適合使用if,所以通過捕獲異常處理。
參考:oracle的異常
C 形參帶預設值的函式
include intsum int a,int b intmain sum函式的定義可以有以下幾種 int sum int a 10,int b 20 sum int sum int a,int b 20 sum a 但是int sum int a,int b 20 不可以編譯通過,原因是函式壓棧...
js函式引數設定預設值
php有個很方便的用法是在定義函式時可以直接給引數設預設值,如 function simue a 1,b 2 echo simue 輸出3 echo simue 10 輸出12 echo simue 10,20 輸出30但js卻不能這麼定義,如果寫function simue a 1,b 2 會提示...
為什麼資料庫字段需要設定預設值
非嚴格模式下,mysql會容忍許多開發上的疏忽,例如把乙個長度100的字串插入到varcaht中只會截斷多餘的部分而不報錯。嚴格模式對資料的格式 長度 型別等進行校驗,你貼出的建表語句中指定了default,如果此時不指定default,在你認為會啟用預設值的時候會返回 1364錯誤。開發階段最好啟...