Oracle 是否从存储过程中检索出参数?

Oracle 是否从存储过程中检索出参数?,oracle,plsql,Oracle,Plsql,我在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);

我在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;

当我尝试这个时,我什么都没有得到,有人能帮我吗?

只是几个问题:

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而不是Just-OUT

检查此资源:

比如说:

如果有带输出参数的存储过程:

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;