若要在SQL Developer資料庫管理軟體中執行Function,可用下面方法
例如有一支無參數的Function如下,回傳NUMBER
。
CREATE OR REPLACE FUNCTION my_function RETURN NUMBER IS
BEGIN
DBMS_OUTPUT.PUT_LINE('hello world'); --print "hello world"
RETURN 1;
END my_function;
可在SQL Deverloper的工作表中使用匿名PL/SQL block(anonymous PL/SQL block)來執行Function如下。
DECLARE
result NUMBER;
BEGIN
result := my_function();
DBMS_OUTPUT.PUT_LINE(result); --print "1"
END;
所謂的匿名的PL/SQL block是指BEGIN ... END
包圍的部分,在這邊執行要測試的Function,而由於Oracle的Function必須回傳值,所以在BEGIN
前多加了DECLARE
區塊來宣告一個變數result,用來承接Function的回傳。
或若只想知道Function回傳的結果是否正確,可使用SELECT ... FROM DUAL
來執行Function,例如
SELECT my_function AS result FROM DUAL;
參考:
沒有留言:
張貼留言