[英]retrieve out parameter from stored procedure?
I have created one stored procedure in oracle: 我在oracle中创建了一个存储过程 :
PROCEDURE string_opp(input_string IN varchar2,output_string OUT varchar2)
Now the problem is how to execute this stored procedure and retrieve the output parameter.i've followed in sql developer: 现在的问题是如何执行此存储过程并检索输出参数。我在sql developer中遵循过:
SET SERVEROUTPUT ON
DECLARE
outputString VARCHAR;
BEGIN
EXEC string_opp('input String',:outputString);
END;
When i tried this i didn't get anything, could someone help me? 当我尝试此操作时,我什么也没得到,有人可以帮助我吗?
Just a couple of issues: 只是几个问题:
SET SERVEROUTPUT ON
DECLARE
outputString VARCHAR(20);
BEGIN
string_opp('input String', outputString);
dbms_output.put_line(outputString);
END;
You can use as the same variable: 您可以使用相同的变量:
SET SERVEROUTPUT ON
DECLARE
outputString VARCHAR(20);
BEGIN
outputString := 'input String';
string_opp(outputString);
dbms_output.put_line(outputString);
END;
Just define your procedure parameter as IN OUT in place of just OUT. 只需将您的过程参数定义为IN OUT即可代替OUT。
Check this resource: 检查此资源:
http://psoug.org/snippet/FUNCTIONS-IN-OUT-parameter_873.htm http://psoug.org/snippet/FUNCTIONS-IN-OUT-parameter_873.htm
Let say: 说:
If you have Store procedure with output parameter: 如果您具有带有输出参数的存储过程:
Create procedure test(name out varchar2(50))
as
begin
name:='testing output parameter';
-- dbms_output.put_line('Output parameter value ' || name );
end;
Now execute the above procedure : 现在执行以上过程:
declare
l_name varchar2(50);
begin
test(l_name);
dbms_output.put_line( 'name = ' || l_ename );
end;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.