Oracle Function 格式如下:
CREATE OR REPLACE
FUNCTION FUNCTION_NAME(
args1 NUMBER,
args2 VARCHAR2 ) RETURN VARCHAR2
AS
localVar1 NUMBER := 300;
localVar2 VARCHAR2(20) := 'Hello World';
BEGIN
DBMS_OUTPUT.PUT_LINE('args1: ' || args1 || ' args2: ' || args2 || ' localVar1: ' || localVar1 || ' localVar2: ' || localVar2);
RETURN localVar2;
END FUNCTION_NAME;
其中的 args1 和 args2 是使用這個 Stored Function 時要傳入的變數。
而 RETURN VARCHAR2 是指明 Stored Function 會返回的數值型態。
使用方法:
DECLARE
x VARCHAR2(20);
BEGIN
x := FUNCTION_NAME(100, 'Hello World');
DBMS_OUTPUT.PUT_LINE(x);
END;
亦可以預先設定 args 的數值,沒傳入數值則用預設。
CREATE OR REPLACE
PROCEDURE procedure_name(
args1 NUMBER := 100,
args2 VARCHAR2(20) := 'Hello World' )
使用方法:
DECLARE
x VARCHAR2(20);
BEGIN
x := procedure_name();
DBMS_OUTPUT.PUT_LINE(x);
x := procedure_name(150);
DBMS_OUTPUT.PUT_LINE(x);
x:= procedure_name(200, 'lawpronotes');
DBMS_OUTPUT.PUT_LINE(x);
END;
如果 Stored Function 無需傳入數值可以不使用 ()
即是像以下這樣:
CREATE OR REPLACE
FUNCTION FUNCTION_NAME RETURN VARCHAR2
AS
相關書籍: