从存储过程中检索参数?

retrieve out parameter from stored procedure?(从存储过程中检索参数?)
本文介绍了从存储过程中检索参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

这篇关于从存储过程中检索参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

SQL to Generate Periodic Snapshots from Transactions Table(用于从事务表生成定期快照的SQL)
MyBatis support for multiple databases(MyBatis支持多个数据库)
Oracle 12c SQL: Missing column Headers in result(Oracle 12c SQL:结果中缺少列标题)
SQL query to find the number of customers who shopped for 3 consecutive days in month of January 2020(查询2020年1月连续购物3天的客户数量)
How to get top 10 data weekly (This week, Previous week, Last month, 2 months ago, 3 month ago)(如何每周获取前十大数据(本周、前一周、上个月、2个月前、3个月前))
Select the latest record for an Id per day - Oracle pl sql(选择每天ID的最新记录-Oracle pl SQL)