免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1967 | 回复: 3
打印 上一主题 下一主题

对于存储过程的in 和 out 的问题,请高手解答 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-29 18:38 |只看该作者 |倒序浏览
这样创建:
CREATE PROCEDURE vvv/vvTEST                           
(IN PPICD CHAR ( 20),                                    
IN    PPITD CHAR (2),                                    
IN    ppije CHAR ( 13),                                   
IN    ppimm CHAR ( 30),                                   
IN    pport DEC(1,0),                                    
IN    ppoyd CHAR ( 2),                                    
IN    ppost CHAR ( 5),                                    
IN    ppotp CHAR ( 3),                                    
IN    ppoye CHAR ( 13),                                   
IN    ppozk CHAR ( 13),                                   
IN    ppomm CHAR ( 30))                                   
LANGUAGE CL NOT DETERMINISTIC READS SQL DATA EXTERNAL NAME
aaa/bbbCL PARAMETER STYLE GENERAL               

调用:
CALL vvv/vvTEST (               
'00000099990000000012',            
'05',                              
'1234567890123',                    
'123456789012345678901234567890',   
1,                                 
'12',                              
'12345',                           
'123',                              
'1234567890123',                    
'1234567890123',                    
'123456789012345678901234567890')   

成功。

==========以上只是成功的,不是我需要的=======================
但实际上,我不希望所有的参数都是in,而是希望:

CREATE PROCEDURE WANGBO/WBTEST                                      
(IN PPICD CHAR ( 20),                                               
IN PPITD CHAR (2),                                                  
IN ppije CHAR ( 13),                                                
IN ppimm CHAR ( 30),                                                
OUT pport DEC(1,0),                                                
OUT ppoyd CHAR ( 2),                                                
OUT ppost CHAR ( 5),                                                
OUT ppotp CHAR ( 3),                                                
OUT ppoye CHAR ( 13),                                               
OUT ppozk CHAR ( 13),                                               
OUT ppomm CHAR ( 30))                                               
LANGUAGE CL NOT DETERMINISTIC READS SQL DATA EXTERNAL NAME         
aaa/bbbCL PARAMETER STYLE GENERAL                          

也就是:前4个为in,后7个为out。那么,我如果用如下方法来调用:

CALL vvv/vvTEST (               
'00000099990000000012',            
'05',                              
'1234567890123',                    
'123456789012345678901234567890',   
1,                                 
'12',                              
'12345',                           
'123',                              
'1234567890123',                    
'1234567890123',                    
'123456789012345678901234567890')   

则报错。提示:IN, OUT, or INOUT not valid for parameter 5 in procedure……——我也尝试了,不在于第5个参数有什么特殊,只是因为,out 从第5个参数开始,所以报第5个出错。

我的问题是:为了实现调用,我应该用怎样的格式调用,才能不报错?
换句话说,我想通过调用,测试一下自己建立起来的存储过程能不能用,——我应该怎么写这个“测试调用”?
(所有的参数由in改为inout也试过了,仍然不成。——只有都是in的情况成功了)


请高人赐教。急啊!

论坛徽章:
0
2 [报告]
发表于 2005-05-29 18:53 |只看该作者

对于存储过程的in 和 out 的问题,请高手解答

我从没做过多于一个参数的存储过程的试验,所以这次遇上难题了。

论坛徽章:
0
3 [报告]
发表于 2005-05-30 14:30 |只看该作者

对于存储过程的in 和 out 的问题,请高手解答

OUT参数应该是处理后返回吧?不是传给它。
hengxiao 该用户已被删除
4 [报告]
发表于 2005-05-31 22:22 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP