Oracle自定義函數

PL/SQL建立函數:

當須要封裝複雜的業務邏輯來減小SQL語句塊代碼冗餘時使用PL/SQL自定義函數,自定義函數能夠經過RETURN子句返回函數的執行結果。服務器

PL/SQL建立函數語法:

CREATE [OR REPLACE] FUNCTION <函數名> [(<參數名> [IN | OUT | IN OUT] <數據類型> ,…)]
RETURN <返回值類型>
IS |AS
[<變量或常量聲明>;]
BEGIN
<子程序塊...>;
RETURN <須要返回的變量或常量名>;
[EXCEPTION
<異常處理...>;
RETURN <當出現異常時的返回值、變量或常量>;]
END [<函數名>];函數

  • PL/SQL建立函數語法與PL/SQL建立存儲過程語法相似,但也有區別,例如PL/SQL建立函數必需要有返回值
  • PL/SQL建立函數通過子程序塊邏輯計算後,返回值惟一
調用自定義函數:

Oracle自定義函數建立後會存儲在Oracle服務器中,等待調用。自定義函數做爲表達式被調用,能夠嵌在任何須要表達式的地方,如:spa

  • 在SQL語句塊中對變量的賦值(經過變量接收函數的返回值):變量名:=<函數名>(實參列表);
  • 在查詢語句中使用:SELECT <函數名>(實參列表) FROM <對象名>;
  • 使用EXECUTE(或EXEC)關鍵字調用函數(須要先聲明變量來接收函數返回值): EXECUTE(或EXEC) :<變量名>:=<函數名>(實參列表) 【注意此處可不寫;分號做爲結尾】
  • 使用CALL關鍵字調用函數(須要先聲明變量來接收函數返回值): CALL <函數名>(實參列表) INTO : <變量名>;
  • 把函數做爲其餘子程序參數調用:EXECUTE(或EXEC) DBMS_OUTPUT.PUT_LINE(<函數名>(實參列表));
刪除自定義函數:

刪除自定義函數語法:
DROP FUNCTION <函數名>;code

查看自定義函數:

函數建立完成後可經過developer或者經過數據字典兩種方法查看自定義函數。
經過數據字典查看自定義函數方法:SELECT * FROM USER_SOURCE WHERE USER_SOURCE.NAME='<函數名>';對象


文章中若出現錯誤,請在評論中指出或聯繫我👇
QQ:354008947
Email:354008947@qq.com
幸福至上.pngblog

相關文章
相關標籤/搜索