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
这篇关于从存储过程中检索参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:从存储过程中检索参数?
基础教程推荐
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 在多列上分布任意行 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
