函式:
CREATE OR REPLACE FUNCTION TEST111
RETURN SYS_REFCURSOR
IS
return_cursor SYS_REFCURSOR;
BEGIN
OPEN return_cursor FOR SELECT 'c1','c2' FROM dual;
RETURN return_cursor;
END;
使用資料庫工具 DbVisualizer 8 :
1 SQL :
select TEST111() from dual
結果:
NULL
2 直接用工具中的“運行”按鈕,執行:
@call ${returnValue||(null)||Cursor||nullable noshow ds=0 dt=N/A dir=out}$ = TPMS.TEST111();
能正常回傳結果
c1 c2
請問這是什么原因,怎么樣才能在SQL直接呼叫函式使用?
uj5u.com熱心網友回復:
用存盤程序接收吧,比較直觀好用uj5u.com熱心網友回復:
http://blog.csdn.net/sych888/article/details/53170158uj5u.com熱心網友回復:
因為回傳的結果,還需要在其它SQL陳述句中使用,所以需要在函式中實作。
uj5u.com熱心網友回復:
建議你回傳值設為varcha2型別,將多個欄位指定一個特殊字符拼接起來,查詢陳述句那里再做拆分,這樣就ok了uj5u.com熱心網友回復:
回傳的內容不只是多欄位,也是多條記錄的。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/110594.html
標籤:開發
上一篇:oracle用dbca創建實體
