从存储过程中检索出参数?
Posted
技术标签:
【中文标题】从存储过程中检索出参数?【英文标题】:retrieve out parameter from stored procedure? 【发布时间】:2013-02-01 15:31:32 【问题描述】:我在oracle中创建了一个存储过程:
PROCEDURE string_opp(input_string IN varchar2,output_string OUT varchar2)
现在的问题是如何执行这个存储过程并检索输出参数。我在sql developer中遵循了:
SET SERVEROUTPUT ON
DECLARE
outputString VARCHAR;
BEGIN
EXEC string_opp('input String',:outputString);
END;
当我尝试这个时,我没有得到任何东西,有人可以帮助我吗?
【问题讨论】:
【参考方案1】:只是几个问题:
SET SERVEROUTPUT ON
DECLARE
outputString VARCHAR(20);
BEGIN
string_opp('input String', outputString);
dbms_output.put_line(outputString);
END;
你可以作为同一个变量使用:
SET SERVEROUTPUT ON
DECLARE
outputString VARCHAR(20);
BEGIN
outputString := 'input String';
string_opp(outputString);
dbms_output.put_line(outputString);
END;
只需将您的过程参数定义为 IN OUT 而不是 OUT。
检查此资源:
http://psoug.org/snippet/FUNCTIONS-IN-OUT-parameter_873.htm
【讨论】:
【参考方案2】:让我们说:
如果你有带有输出参数的存储过程:
Create procedure test(name out varchar2(50))
as
begin
name:='testing output parameter';
-- dbms_output.put_line('Output parameter value ' || name );
end;
现在执行上述程序:
declare
l_name varchar2(50);
begin
test(l_name);
dbms_output.put_line( 'name = ' || l_ename );
end;
【讨论】:
以上是关于从存储过程中检索出参数?的主要内容,如果未能解决你的问题,请参考以下文章
PHP PDO / 从 MySQL 存储过程中检索 OUT 参数
从 SQL Server 中检索各种存储过程的数据的单一方法,如何处理参数?