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

Thi*_*ATR 14 oracle plsql

我 在oracle中创建了一个存储过程:

PROCEDURE string_opp(input_string IN varchar2,output_string OUT varchar2)
Run Code Online (Sandbox Code Playgroud)

现在问题是如何执行此存储过程并检索输出参数.我已经在sql developer中执行了:

SET SERVEROUTPUT ON
DECLARE
  outputString VARCHAR;
BEGIN
  EXEC string_opp('input String',:outputString);
END;
Run Code Online (Sandbox Code Playgroud)

当我尝试这个我没有得到任何东西时,有人可以帮助我吗?

gus*_*ico 8

只有几个问题:

SET SERVEROUTPUT ON
DECLARE
   outputString VARCHAR(20);
BEGIN
  string_opp('input String', outputString);
  dbms_output.put_line(outputString);
END;
Run Code Online (Sandbox Code Playgroud)

您可以使用相同的变量:

SET SERVEROUTPUT ON
DECLARE
   outputString VARCHAR(20);
BEGIN
  outputString := 'input String';
  string_opp(outputString);
  dbms_output.put_line(outputString);
END;
Run Code Online (Sandbox Code Playgroud)

只需将过程参数定义为IN OUT而不是OUT.

检查此资源:

http://psoug.org/snippet/FUNCTIONS-IN-OUT-parameter_873.htm

  • 谢谢你的朋友,好吧我如何在out参数中使用同一个变量?! (2认同)