網頁

2017/9/3

Oracle 如何在SQL Developer中呼叫Function

若要在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;

參考:

沒有留言:

張貼留言