2011-10-23 44 views
1

我已阅读了很多来自此网站的问题和文章。 但是我厌倦了寻找我想操纵的东西。 在SQL Server中,我曾经调用像“EXEC Some_Procedure_name arg1,'arg2',arg3,'arg4'”这样的过程。 当输入参数是数字时,我不会使用唱歌引号。 但在oracle中,我真的需要写一些类似于使用输入和输出参数的东西吗? 假设的步骤如下:来自Oracle的ASP.NET数据集存储过程

CREATE OR REPLACE PROCEDURE GET_JOB 
(
    p_JOB_ID IN varchar2, 
    outCursor OUT MYGEN.sqlcur 
) 
IS 
BEGIN 
    OPEN outCursor FOR 
    SELECT * 
    FROM JOB 
    WHERE JOB_ID = p_JOB_ID; 
END GET_JOB; 
/

那我必须在我的C#代码中指定的输入参数的名称的名称,如下面:

var userNameParameter = command.Parameters.Add("p_JOB_ID", Job_ID); 
returnValueParameter.Direction = ParameterDirection.In; 

我不能只是把它像“执行GET_JOB'j208';“?

回答

0

要从Oracle中的存储过程返回数据集,您需要使用“REF CURSOR”。

此进行详细说明,与.NET代码示例,在这里:

http://www.oracle.com/technetwork/articles/dotnet/williams-refcursors-092375.html

+0

感谢。我读过那篇文章。顺便说一下,也许你没有仔细阅读我的问题。我不问如何使用输出参考游标。我已经知道如何使用它。但我在问如何使用像“执行GET_JOB'j208';”在oracle中。你有什么建议吗? –