2014-09-25 73 views
1

您好我花了很多時間在Oracle 11g中搜索存儲過程的執行。如果任何人都可以分享這個有用的答案。如何在Oracle中執行存儲過程11g

Regards, Pranay。

+0

嗨@pranay,歡迎來到stackoverflow。我們有一個類似的問題,我建議你看看這裏,http://stackoverflow.com/questions/13860935/execute-a-stored-procedure-in-oracle。 – 2014-09-25 15:16:39

回答

1

它不能不工作,如果我按F5它的工作,如果我想強調執行語句,右單擊並按運行腳本選項。我從我的同事AK那裏得到了幫助。例如:

例如:

var result1 refcursor; EXECUTE Schemaname.Tablename(param1,param2,:result1); 打印結果1

Regards, Pranay。

1

你跟execute稱之爲:

EXECUTE my_procedure ('arg1', 'arg2'); 
+0

...只有當你在SQL * Plus中做到這一點 – mustaccio 2014-09-25 15:00:46

+0

它不工作我得到了一個聲明爲參數的輸入參數和一個輸出遊標。我傳遞了I/P參數,但是還需要傳遞o/p參數,如果我需要如何執行操作。 – pranay 2014-09-25 15:01:49

1

如果你的光標是一個REF CURSOR:

declare 
    lcsr sys_refcursor; 
begin 
    package.procedure(input => input_parameter_value, output => lcsr); 

    /* Do something with lcsr */ 
end; 
+0

請注意,上面的代碼不是編譯後的pl/sql過程。這是一個匿名塊,可以直接在SQLPLUS或SQL Developer工作表中執行。這基本上是直接運行pl/sql腳本而不必編譯它們的一種方法。 – ivanatpr 2014-09-25 15:32:47

0

我有同樣的問題,我發現很多帖子沒有答案。這是解決辦法:

begin your_procedure; 結束;

0

試試這個傢伙

BEGIN

PROCEDURENAME;

結束

相關問題