Oracle 求一存储过程带输入输出参数 并且调用的实例
表xiaoming;表xiaoli我想做一个存储过程实现转账功能,必须用到(in,out,inout)参数。并且调用执行成功。为什么我要用in,out,inout)参数。...
表xiaoming;表xiaoli 我想做一个存储过程实现转账功能,必须用到(in,out ,in out)参数。并且调用 执行成功。
为什么我要用in,out ,in out)参数。,因为我想做一个C#调用Oracle存储过程,我想用 int out返回。
balanceid ID
balancenam 姓名
balance 金额 展开
为什么我要用in,out ,in out)参数。,因为我想做一个C#调用Oracle存储过程,我想用 int out返回。
balanceid ID
balancenam 姓名
balance 金额 展开
1个回答
推荐于2017-11-28
展开全部
下面的例子代码, 仅仅用于演示 in out , 没有任何数据库检索的处理。
注:
Oracle 的 IN OUT 写在变量名后面。
SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 (
2 p_user_name IN VARCHAR2,
3 p_out_val OUT VARCHAR2,
4 p_inout_val IN OUT VARCHAR2
5 ) AS
6 BEGIN
7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');
8 p_out_val := 'A';
9 p_inout_val := 'B';
10 END HelloWorld2;
11 /
Procedure created.
SQL> DECLARE
2 p_outval VARCHAR2(10);
3 p_inoutval VARCHAR2(10) := '~Hi~';
4 BEGIN
5 HelloWorld2('Edward', p_outval, p_inoutval);
6
7 dbms_output.put_line('p_outval=' || p_outval);
8 dbms_output.put_line('p_inoutval=' || p_inoutval);
9 END;
10 /
Hello Edward~Hi~!
p_outval=A
p_inoutval=B
PL/SQL procedure successfully completed.
SQL>
更多追问追答
追问
能不复制吗?网上的看不懂。
追答
这个已经是 最简单的了。 连查询语句都不包含了。
专门用来演示 IN OUT 参数的处理了。
前面那段是一个存储过程, 3个参数。
p_user_name IN VARCHAR2, 是 IN 的
p_out_val OUT VARCHAR2, 是 OUT 的
p_inout_val IN OUT VARCHAR2 是 IN OUT 的
后面那段代码, 是 调用存储过程的例子代码。
并输出调用的结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询