1
我在Oracle中創建了一個具有類型爲SYS_REFCURSOR的OUT參數的存儲過程(SP),該SP在Oracle中按預期方式執行。從Spotfire調用Oracle存儲過程
CREATE OR REPLACE PROCEDURE SCHEMA.MyProc
(
p_Code IN varchar2,
p_FromDate IN Timestamp,
p_ToDate IN timestamp,
p_ResultSet OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN p_ResultSet FOR
-- Obtain required data
END SF_EquipmentStatusHistory;
/
然而,當在組織中的Spotfire傢伙試圖在Spotfire中創建新的程序,並引用我的SP,Spotfire中抱怨說,它不能有OUT參數。
閱讀此鏈接Spotfire Procedure Overview,似乎表明Spotfire中「信息設計只支持返回類型REF CURSOR的數據程序」
有人可以請幫助,我怎麼解決這個問題?
感謝
解決:
至於建議將存儲過程中甲骨文功能並解決Spotfire中的問題,抱怨OUT參數:
CREATE OR REPLACE FUNCTION SCHEMA.MyFunc
(
p_Equipment_code IN varchar2,
p_FromDate IN Timestamp,
p_ToDate in timestamp
)
return SYS_REFCURSOR
AS p_ResultSet sys_refcursor;
BEGIN
OPEN p_ResultSet FOR
-- Obtain required data
return p_ResultSet;
END MyFunc
/
文檔不確定 - 它提到「(也稱爲表函數)」。 Oracle中的表函數是一個'FUNCTION'(而不是'PROCEDURE'),它返回一個...的表格,參見http://docs.oracle.com/cd/B19306_01/appdev.102/b14289/dcitblfns.htm# CHDIIFEG – 2015-03-26 09:19:10