java 调用db2存储过程_【DB2】存储过程的基本语法

DB2中存储过程包括存储过程头和存储过程体

存储过程头create procedure sum(in  p_a integer,

in  p_b integer,

out p_s integer)

language sql

specific sum_ab

begin

set p_s = p_a + p_b;

end

a、名称:模式加名称,如:db2admin.reademp

b、参数:1 模式:in/out/inout

2 名称:建议以P_开头

3 数据类型

c、调用存储过程,如:call sun(100,200,?)

d、删除存储过程 drop procedure sum(integer,integer,integer)

e、dynamic result sets指定了返回的最大结果集数目(后面跟数字)

f、contains sql (不含查询和更新语句)

reads sql data:只含查询语句

modifies sql data:含查询和更新,限制最少

精确定义以上3项,可提高存储过程执行性能

g、deterministic:对于相同的输入参数,每次返回的结果都是相同的,结果集   放在内存中可以重用,因此可以提高运行性能;

not deterministic:缺省,不推荐

h、language sql/c/java 分别对应相应语言存储过程

i、called on null input:当输入参数为空值,过程依旧执行,缺省值

j、P昂然meter CCSID:Coded Character Set ID,定义了当字符类的数据传入   和过程中输出的编码模式

存储过程体:1、declare 变量名 数据类型

2、流程控制

- CASE   根据对一个或多个条件的计算选择执行路径

- FOR    对于表中的每一行执行一个代码块

- GET DIAGNOSTICS 将关于前一个SQL语句的信息返回到一个SQL变量中

- GOTO   控制转移到一个有标签的块(一个或者多个语句的块,由一个唯一的  SQL名称和冒号标识)

- IF     语句(ELSEIF、ELSE)

- ITERATE将流程控制传递到一个有标签的循环的开头

- LEAVE  使程序控制离开一个循环代码块

- LOOP   多次执行一个代码块,直到LEAVE,ITERATE或者GOTO语句控制离开

- REPEAT 重复执行一个代码块,直到指定的搜索条件返回真为止

- RETURN 控制从SQL过程返回给调用者

- SET    将一个值赋值给一个输出变量或者SQL变量

- WHILE  在指定条件为真时重复执行一个代码块

创建:db2 -td@ -vf createSQLproc.db2

调用:db2 call 过程名(参数)

...

end@ (此处的@可替换成其他符号)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值