![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
|||||
| DB2编程序技巧 (五) | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-6-30 ![]() |
|||||
|
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 要好。
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|