网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 数据库教程 >> DB2 >> 文章正文
  DB2编程序技巧 (二)            【字体:
DB2编程序技巧 (二)
作者:佚名    文章来源:不详    点击数:    更新时间:2007-6-30    
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不被关闭,只能使用这种方式。

站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 使用db2look 重新创建优化器…

  • DB2数据库的备份和恢复

  • DB2个人版(Linux)安装

  • DB2优化(简易版)

  • IBM DB2 基本性能调整

  • DB2 UDB V8.1管理学习笔记(三…

  • DB2 UDB V8.1管理学习笔记(二…

  • DB2 UDB V8.1管理学习笔记(一…

  • DB2:数据同步方面的经验

  • DB2编程序技巧 (十)

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David