oracle自定義函數
阿新 • • 發佈:2018-02-13
eat 內置 是否 名稱 語句 scala blog lar type
一、自定義函數創建 語法格式: create [or replace] function function_name/*函數名稱*/ (/*參數定義部分*/ parameter_name1 model1 dataType1, parameter_name2 model2 dataType2, parameter_name3 model3 dataType3, .... ) return return_datatype /*定義返回值類型*/ IS/AS [local_declarations]/*聲明臨時變量*/ BEGIN function_body/*函數體部分*/ return scalar_expression/*返回語句*/ END function_name; 解析: or replace:是否覆蓋,可選 function_name:函數名稱 return 自居:指定函數的返回類型,不能指定大小 local_declarations:局部變量聲明,可選 function_body:要執行的PL-SQL語句 參數模式有3種(如果沒有註明,參數默認的類型為in)in:為只讀模式,在函數中,參數的值只能被引用,不能被改變 out:為只寫模式,只能被賦值,不能被引用 in out:可讀可寫 示例1: --根據機構編號查詢機構名 CREATE OR REPLACE FUNCTION GET_ORG_NAME(P_ORG_ID IN NUMBER) RETURN VARCHAR2 IS V_ORG_NAME VARCHAR2(4000); BEGIN SELECT ORG_NAME INTO V_ORG_NAME FROM SYS_ORG WHERE ORG_ID = P_ORG_ID;RETURN(V_ORG_NAME); END GET_ORG_NAME;
二、自定義函數調用 自定義函數的調用方法跟系統內置函數的調用方法相同,可以直接在select語句中調用,也可以在函數中調用,如下: select GET_ORG_NAME(20) from SYS_ORG; str :=GET_ORG_NAME(20); 三、自定義函數的刪除 自定義函數的刪除方法類似於表的刪除,語法格式如下: drop function [schema.]functionName;
oracle自定義函數