簡體   English   中英

使用SQL Server的輸出參數調用Oracle存儲過程

[英]Calling Oracle stored procedure with output parameter from SQL Server

我在SQL Server 2008 R2中有一個Oracle鏈接服務器。 我需要執行Oracle存儲過程(首先使用輸出參數,然后在第二個過程中使用輸入參數):

CREATE OR REPLACE PROCEDURE my1.spGetDate(CurrentDate OUT VARCHAR2)
IS
BEGIN
-- set output parameter, no select statements
END;

CREATE OR REPLACE PROCEDURE my1.spDeleteOldRecords(CurrentDate IN VARCHAR2)
IS
BEGIN
-- conditional delete from oracle table, no select statements
END;

我沒有找到關於這個問題的任何完整文檔,只有簡單的例子與無參數選擇/非選擇程序,並想知道,如何調用這些程序,程序選擇內部,多參數程序與基本參數類型。

它應該像這樣工作:

DECLARE @dateval DATETIME

EXECUTE ('begin my1.spGetDate(?); end;', @dateval OUTPUT) AT ORA_DBLINK_NAME;

EXECUTE ('begin my1.spDeleteOldRecords(?); end;', @dateval) AT ORA_DBLINK_NAME;

如果您有多個參數,它可能如下所示:

EXECUTE ('begin my1.spProc(?,?,?,?); end;', @param_in_1, @param_in_2, @param_out_3 OUTPUT, @param_out_4 OUTPUT) AT DBLINK_NAME;

使用REF CURSOR並將該游標聲明為oracle中的輸出變量。 使用Ref Cursor,您可以從Oracle存儲過程中檢索結果集

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM