您现在的位置: 理想中国 > 教程 > 数 据 库 > DB2 > 正文

DB2编程序技巧 (五)

[ 来源:站长站 | 作者:佚名 | 时间:2004-6-17 16:38:00 | 收藏本文 ] 【字体:
1.16 存储过程fence及unfence
fence的存储过程单独启用一个新的地址空间,而unfence的存储过程和调用它的进程使用同一个地址空间。
一般而言,fence的存储过程比较安全。
但有时一些特殊的要求,如要取调用者的pid,则fence的存储过程会取不到,而只有unfence的能取到。

1.17 SP错误处理用法
如果在SP中调用其它的有返回值的,包括结果集、临时表和输出参数类型的SP,
DB2会自动发出一个SQLWarning。而在我们原来的处理中对于SQLWarning都
会插入到日志,这样子最后会出现多条SQLCODE=0的警告信息。
处理办法:
定义一个标志变量,比如DECLARE V_STATUS INTEGER DEFAULT 0,
在CALL SPNAME之后, SET V_STATUS = 1,
DECLARE CONTINUE HANDLER FOR SQLWARNING
BEGIN
IF V_STATUS <> 1 THEN
--警告处理,插入日志
SET V_STATUS = 0;
END IF;
END;
1.18 import用法
db2 import  from  gh1.out   of  DEL messages err.txt insert into  db2inst1.tb_dbf_match_ha

注意要加schma

1.19 values的使用
如果有多个 set  语句给变量付值,最好使用values语句,改写为一句。这样可以提高效率。
 
但要注意,values不能将null值付给一个变量。
values(null) into out_return_code;
这个语句会报错的。


1.20 给select 语句指定隔离级别
select * from tb_head_stock_balance with ur
 
1.21 atomic及not atomic区别
atomic是将该部分程序块指定为一个整体,其中任何一个语句失败,则整个程序块都相当于没做,包括包含在atomic块内的已经执行成功的语句也相当于没做,有点类似于transaction。


2  DB2编程性能注意
2.1 大数据的导表
应该是export后再load性能更好,因为load不写日志。
比select into 要好。

文章录入:yixiaoer    责任编辑:yixiaoer 

>> 相关资讯:

  • 上一篇文章:
  • 下一篇文章:
  • 发表评论
    请自觉遵守互联网相关政策法规,不要恶意评论、广告和违禁词语。
    昵称:
    内容:
    验证:
      评论表情(图片版权归悠嘻猴作者所有)



    我要评论网友评论[只显示最新10条。评论内容只代表网友观点,与本站立场无关]

    ·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
    ·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
    ·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
    ·此图片和文章系本站搜索引擎全网蜘蛛程序自动抓取,由此图片和文章引起的各项法律问题,请与图片来源网站联系,本站与内容的出处无关。