存储过程的in out参数如何处理??? 使用一般输入参数的处理形式运行到那句话就不动了嵌入sql需要怎样特殊的处理呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 in out 的话,表示该参数可以有返回值 过程很简单,我把in out的参数简单改为out的就可以执行,OCI和Pro C都可以。但是一旦改为in out的,OCI和Pro C到了调用的那句话就都不动了我的存储过程很简单:create or replace procedure SecondProc( s_i varchar2, i_o out number, s_o out varchar2)ISBEGIN i_o := LENGTH(s_i); s_o := UPPER(s_i);END; 你在调用的时候,传入的参数有没有从一个改为三个?因为你将out 改为 in out后,你的传入参数就是三个了不过没有明白,为什么要改成in out 的形式? 我是用OCI绑定参数来调用存储过程/函数的。如果把语句直接prepare、运行只能正确处理in或者out的参数,处理in/out参数时就会出错。但我把语句放在begin、end块里面作为一个pl/sql块来执行就可以正确处理in/out参数了。不知道还有没有别的办法。这里把我的方法写出来大家交流一下。 oracle按某列循环取值 急,急,急!!!ora-06550;pls00306问题 急,过程调用问题 如何删除tnslistener服务,我的tnslistener服务的路径不对,导致不能起动!!请oracle班的高手帮忙!! exp命令导出的东西都包含那些!?迷惑ing 超难!!!!关于在不同分区不同硬盘上创建一个ORACLE9I数据库的问题? form开发问题 高分求救! Oracle 9i 得简单问题 【求助】11g expdp 导数 问个sql的写法 如何得到递增的序号?
过程很简单,我把in out的参数简单改为out的就可以执行,OCI和Pro C都可以。
但是一旦改为in out的,OCI和Pro C到了调用的那句话就都不动了我的存储过程很简单:
create or replace procedure SecondProc
(
s_i varchar2,
i_o out number,
s_o out varchar2
)
IS
BEGIN
i_o := LENGTH(s_i);
s_o := UPPER(s_i);
END;
因为你将out 改为 in out后,你的传入参数就是三个了
不过没有明白,为什么要改成in out 的形式?
如果把语句直接prepare、运行只能正确处理in或者out的参数,处理in/out参数时就会出错。
但我把语句放在begin、end块里面作为一个pl/sql块来执行就可以正确处理in/out参数了。不知道还有没有别的办法。这里把我的方法写出来大家交流一下。