从存储过程中检索参数?

2021-12-24 00:00:00 oracle plsql

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

I have created one stored procedure in oracle:

PROCEDURE string_opp(input_string IN varchar2,output_string OUT varchar2)

现在的问题是如何执行这个存储过程并检索输出参数.我在sql developer中遵循了:

Now the problem is how to execute this stored procedure and retrieve the output parameter.i've followed in 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?

推荐答案

只是几个问题:

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;

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

Just define your procedure parameter as IN OUT in place of just OUT.

检查此资源:

http://psoug.org/snippet/FUNCTIONS-IN-OUT-参数_873.htm

相关文章