脚本宝典收集整理的这篇文章主要介绍了DB2编程序技巧 (三),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
正在看的db2教程是:DB2编程序技巧 (三)。&nbs
p; 另一种为
pcursor1: for loopcs1 as cousor1 cursor as
select  
;market_code as market_code
From tb_market_code
for update
do
end for;
这种方式的优点是比较
简单,
不用(也不允许)使
用OPEn,fetch,close。
但不能使用w
ITh hold 选项。如果在游标循环内要使用commit,rollback则不能使用这种方式。如果没有commit或rollback的要求,推荐使用这种方式(看来For这种方式有问题)。
修改游标的当前记录的方法
update tb_market_code set market_code='0' where
current of cursor1;
不过要注意将cursor1定义为可修改的游标
declare cursor1 cursor for select market_code f
rom tb_market_code
for update;
for update 不能和GROUP BY、 DISTINCT、 ORDER BY、 FOR READ ONLY及UNION, EXCEPT, or INTERSECT但 UNION ALL除外)一起使用。
1.5 类似decode的
转码操作
oracle中有一个函数 select decode(a1,'1','
n1','2','n2','n3') aa1 from
db2没有该函数,但可以用变通的方法
select case a1
when '1' then 'n1'
when '2' then 'n2'
else 'n3'
end as aa1 from
1.6 类似charindex查找字符在字串中的位置
Locate(‘y','
DFdasfay')
查找'y' 在'dfdasfay'中的位置。
1.7 类似datedif计算两个日期的
相差天数 days(date(‘2001-06-05')) – days(date(‘2001-04-01'))
days 返回的是从 0001-01-01
开始计算的天数
1.8 写UDF的例子
C写见
SQLlib\s
amples\cli\udfsrv.c
1.9 创建含identity值(即自动生成的ID)的表
建这样的表的写法
CREATE TABLE
test (t1 SMALLINT NOT NULL
GENERATED ALWAYS AS IDENTITY
(START WITH 500, INCREMENT BY 1),
t2 CHAR(1));
在一个表中只允许有一个identity的column.
脚本宝典总结
以上是脚本宝典为你收集整理的DB2编程序技巧 (三)全部内容,希望文章能够帮你解决DB2编程序技巧 (三)所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。