带输出参数的存储过程

 后台sp伪代码(T-sql):

 

  1. if exists (select * from sysobjects where name = 'someProcedoreName' and type = 'P')  
  2.    drop proc someProcedoreName  
  3. go  
  4.   
  5. create proc dbo.someProcedoreName  
  6. @param1 int,  
  7. @param2 varchar(7),   
  8. @param_out int output  
  9. AS  
  10. declare  
  11. ... some varivles...  
  12. ... some statements...  
  13. ......  
  14. select @param_out = 0  
  15. ......  

2 在sql advantage客户端测试sp:

 

declare @rr int
exec someProcedoreName 920, '04/2009', @rr output

如果是一个没有带输出参数的sp, 用someProcedoreName param1, param2..就可以了,

但是我发现如果带输出参数,则要在前面加exec. 在这里耗了好久。

3 前端java代码:

 

  1. public class TestSybaseProcedure {  
  2.  public static void main(String[] args)throws Exception{  
  3.   Class.forName("com.sybase.jdbc2.jdbc.SybDriver");  
  4.   Connection cnn = DriverManager.getConnection("jdbc:sybase:Tds:db_url:port""username""password");   
  5.   int status=-1;  
  6.   CallableStatement cs = cnn.prepareCall("{ call someProcedoreName ?,?,? }");  
  7.   cs.setInt(1920);  
  8.   cs.setString(2"04/2009");  
  9.   cs.registerOutParameter(3, java.sql.Types.INTEGER);  
  10.   cs.execute();  
  11.   status = cs.getInt(3);  
  12.   System.out.println(status);  
  13.  }  
  14. }  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值