HSQLDB 带Connection的Stored Procedure

先抱怨几句:
javaeye出问题了,我写了一篇文章,点击提交,它居然告诉我没有权限,难道我自己不能编辑自己的BLOG?
好,即便这样吧,我输入用户名,密码重新进入之后,再提交,居然还是没有权限?
这么回事啊?

郁闷,写好的东西被白白毁掉了,还要重新来,看看是否要花一个小时才能搞好呢……拜托,系统还是要做得稳定一点。
算了吧,做人要低调。

主要是讲hsqldb中的存储过程,hsqldb支持用java方法编写存储过程,只需要将java方法变成类的静态方法。然后将该静态方法定义为可以被调用的存储过程。之后,在sql中就可以调用该存储过程了 。说起来,其实蛮简单的。在 org.hsqldb.Library 类中就定义了hsqldb中定义好的,可以被大家所调用的build-in function or stored procedure:)

这里要说的是,对于带Connection的Stored Procedure,其实,也是一样的。只不过,需要将Connection参数定义在方法的第一个参数上。其它的参数,依次排开即可。

比如:
java 代码
 
  1. public static double getTaskWorkLoad(Connection conn,int projectId{  
  2.          ……  
  3. }  
 
定义存储过程还是一样:
sql 代码
 
  1. CREATE ALIAS  getTaskWorkLoad FOR  "com.wzg.script.core.storeprocedure.WorkLoadCompute.getTaskWorkLoad"  

调用的时候,不需要将Connection参数传近来,事实上,你也传不近来呀, 。如下所示:
sql 代码
 
  1. select TaskInfo.PROJECT_ID, sum(getTaskWorkLoad(TaskInfo.PROJECT_ID))  
  2.     as planWorkLoad  
  3.     from task_info as TaskInfo  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值