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 金额
展开
 我来答
匿名用户
推荐于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 的

后面那段代码, 是 调用存储过程的例子代码。
并输出调用的结果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式