0

我有一個工作PLSQL Oracle存儲過程(我已在PLSQL測試,它返回正確的值(一個或多個)):PLSQL存儲過程在實體沒有返回值框架

PROCEDURE FetchCode(code OUT NUMBER) IS 
    BEGIN 
     SELECT MYSEQ.NEXTVAL INTO code FROM DUAL;  
    END FetchCode; 

和Visual Studio解決方案使用實體框架。

的CSDL文件包含

 <FunctionImport Name="FETCHCODE" ReturnType="Collection(Decimal)"> 
     <Parameter Name="CODE" Mode="Out" Type="Decimal" /> 
     </FunctionImport> 

我已經在拉動上述功能實體是成功的,但是當我嘗試「獲取列信息」按鈕,我收到「所選的存儲過程返回沒有列「。信息。

在編輯功能導入我可以看到它:

返回 標量的集合:十進制

的數據類型設置爲「數字」和方向是「輸出」。

任何人都可以幫助解釋爲什麼像這樣的sp可以在plsql上工作,但不能在visual studio中工作?

回答

0

嘗試

CREATE or REPLACE FUNCTION FetchCode IS 
RETURN NUMBER 
DECLARE 
    code NUMBER(10); 
    BEGIN 
     SELECT MYSEQ.NEXTVAL INTO code FROM DUAL;  
     RETURN code; 
    END FetchCode; 

一般Oracle中官能團能夠與將輸出經由OUT or IN OUT變量訪問過程返回的值。

0

嘗試使用以下

CREATE OR REPLACE PROCEDURE FetchCode 
    (
    results_ OUT SYS_REFCURSOR 
) IS 
    BEGIN 
     OPEN results_ FOR 
     SELECT MYSEQ.NEXTVAL As Code FROM DUAL;  
    END FetchCode; 
+0

我試圖該溶液中CSDL文件改變爲以下: <參數名稱=」 P_RECORDSET「Mode =」Out「Type =」Binary「/> 我試圖獲取列信息,並在執行時完全退出」編輯函數導入「窗口。不幸的是,它仍然沒有在edmx/vs方面返回任何東西。 – 2012-07-22 16:49:09