標籤:格式 模式 ora data 唯讀 schema 刪除 系統內建函數 sch
一、自訂函數建立文法格式: 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自訂函數