时间:2021-05-25
正在看的db2教程是:DB2编程序技巧 (五)。1.16 存储过程fence及unfence
fence的存储过程单独启用一个新的地址空间,而unfence的存储过程和调用它的进程使用同一个地址空间。
一般而言,fence的存储过程比较安全。
但有时一些特殊的要求,如要取调用者的pid,则fence的存储过程会取不到,而只有unfence的能取到。
1.17 SP错误处理用法
如果在SP中调用其它的有返回值的,包括结果集、临时表和输出参数类型的SP,
DB2会自动发出一个SQLWarning。而在我们原来的处理中对于SQLWarning都
会插入到日志,这样子最后会出现多条SQLCODE=0的警告信息。
处理办法:
定义一个标志变量,比如DECLAREV_STATUSINTEGERDEFAULT0,
在CALLSPNAME之后,SETV_STATUS=1,
DECLARECONTINUEHANDLERFORSQLWARNING
BEGIN
IFV_STATUS<>1THEN
--警告处理,插入日志
SETV_STATUS=0;
ENDIF;
END;
1.18 import用法
db2importfromgh1.outofDELmessageserr.txtinsertintodb2inst1.tb_dbf_match_ha
注意要加schma
1.19 values的使用
如果有多个set语句给变量付值,最好使用values语句,改写为一句。这样可以提高效率。
但要注意,values不能将null值付给一个变量。
values(null)intoout_return_code;
这个语句会报错的。
1.20 给select语句指定隔离级别
select*fromtb_head_stock_balancewithur
1.21 atomic及notatomic区别
atomic是将该部分程序块指定为一个整体,其中任何一个语句失败,则整个程序块都相当于没做,包括包含在atomic块内的已经执行成功的语句也相当于没做,有点类似于transaction。
2 DB2编程性能注意
2.1 大数据的导表
应该是export后再load性能更好,因为load不写日志。
比selectinto要好。
<
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
正在看的db2教程是:DB2编程序技巧(八)。4.2创建DatabasecreatedatabaseheadusingcodesetIBM-eucCNterri
正在看的db2教程是:DB2编程序技巧(七)。3.4查看sp使用了哪些表selectbnamefromsyscat.packagedepwherebtype='
正在看的db2教程是:DB2编程序技巧(九)。4.8查看本instance下有哪些databasedb2LISTDATABASEDIRECTORY[on/hom
正在看的db2教程是:DB2编程序技巧(六)。2.2SQL语句尽量写复杂SQL尽量使用大的复杂的SQL语句,将多而简单的语句组合成大的SQL语句对性能会有所改善
正在看的db2教程是:用shell抽取,更新db2的数据。为工作需要而写的shell处理db2数据库的程序用shell抽取db2的数据,并进行处理。#SQL文定