• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > DB2编程序技巧(1)

DB2编程序技巧(1)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了db2 备份 压缩,hfc4db2-1d1,db2焊条是什么焊条,db2,db2数据库等相关知识,希望本文的分享对您有所帮助
正在看的db2教程是:DB2编程序技巧(1)。
1 DB2编程 

1.1 建存储过程时Create 后一定不要用TAB键 

create procedure 

的create后只能用空格,而不可用tab健,否则编译会通不过。 

切记,切记。 

1.2 使用临时表 

要注意,临时表只能建在user tempory tables space 上,如果database只有system tempory table space是不能建临时表的。 

另外,DB2的临时表和sybase及oracle的临时表不太一样,DB2的临时表是在一个session内有效的。所以,如果程序有多线程,最好不要用临时表,很难控制。 

建临时表时最好加上  with  replace选项,这样就可以不显示的drop 临时表,建临时表时如果不加该选项而该临时表在该session内已创建且没有drop,这时会发生错误。 

1.3 从数据表中取指定前几条记录 

select  *  from tb_market_code fetch first 1 rows only 

但下面这种方式不允许 

select market_code into v_market_code  

from tb_market_code fetch first 1 rows only;      



选第一条记录的字段到一个变量以以下方式代替 

declare v_market_code char(1); 

declare cursor1 cursor for select market_code from tb_market_code  

fetch first 1 rows only for update; 

open cursor1; 

fetch cursor1 into v_market_code; 

close cursor1; 

1.4 游标的使用 

注意commit和rollback 

使用游标时要特别注意如果没有加with hold 选项,在Commit和Rollback时,该游标将被关闭。Commit 和Rollback有很多东西要注意。特别小心 

游标的两种定义方式 

一种为 

declare continue handler for not found 

begin 

set v_notfound = 1; 

end; 

declare cursor1 cursor with hold for select market_code from tb_market_code  for update; 

open cursor1; 

set v_notfound=0; 

fetch cursor1 into v_market_code; 

while v_notfound=0 Do 

--work 

set v_notfound=0; 

fetch cursor1 into v_market_code; 

end while; 

close cursor1; 

这种方式使用起来比较复杂,但也比较灵活。特别是可以使用with hold 选项。如果循环内有commit或rollback 而要保持该cursor不被关闭,只能使用这种方式。

 另一种为 

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。 

但不能使用with  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 from 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 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • DB2编程序技巧(1)
  • DB2大事记
  • DB2 9的九大新特性
  • 如何访问大型机、小型机上的DB2 9数据服务器
  • 在DB2中提高INSERT性能的技巧(1)
  • DB2编程序小小技巧
  • DB2常用傻瓜问题1000问(五)
  • DB2常用傻瓜问题1000问(六)
  • DB2编程序技巧 (一)
  • DB2编程序技巧 (三)

相关文章

  • 2017-06-28DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第3部分
  • 2017-06-28DB2 XML 编程,第 4 部分: 在基于 Web 的 DB2 应用程序中集成来自不同数据源的数据
  • 2017-06-28DB2 Express-C:数据库开发者的免费利器
  • 2017-06-28DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第2部分
  • 2017-06-28DB2 最佳实践: 关于数据库存储的最佳实践
  • 2017-06-28最快的 Informix DBA:他们是如何做到的?
  • 2017-06-28DB2 大事记
  • 2017-05-11DB2编程序技巧 (十)
  • 2017-06-28DB2 日常维护技巧,第 4 部分:数据库代码页、表结构等
  • 2017-06-28System z 的复兴:大型机并未消亡 - 它正转向数据仓库平台

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • DB2备份及恢复技术
    • 了解DB2数据库优化的几条策略
    • Oracle到DB2的SQL移植解决方案
    • 使用 Rational Data Architect 定义和实施数据对象命名标准
    • DB2常见问题1000问(之四)
    • DB2 V8数据库基础(二)
    • DB2中如何提高IMPORT命令的性能
    • DB2 Magazine 中文版: 通过设计获得灵活性
    • DB2 9.7 对分区表进行全文本搜索
    • DB2 最佳实践: 数据生命周期管理最佳实践

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有