为了提高数据的移动速度,db2提供了load 实用程序。
这个工具在性能方面确实有了很大的突破,速度比import 或者insert 高的真不是一点半点。
一般来讲数据有2中存储方式,
(1)外部数据,即del\asc\ixf等等这些格式的数据,
可以直接使用load from .....
但是请注意,load\import\export这些都是db2的工具,而并非sql语句,因此直接以sql形式写入存储过程,是无法执行的。
在v9以后,可以使用sysproc.admin_cmd来执行。
call sysproc.admin_cmd('load from ....');
也可以直接在shell中实现,windows中可以使用.bat文件,类unix中可以使用shell脚本书写。
(2)内部数据,即从一个表向另一个表移动数据。
此时也有2中方法
第一种:
sysproc.admin_cmd,使用load from ...cursor语句,将一个表的数据选出,使用游标load 到另一个表中去。举例如下:
call sysproc.admin_cmd('load from (select * from h_mntdcha) of cursor insert into h_mntdcha_temp1 nonrecoverable');
存储过