- 论坛徽章:
- 1
|
如何在自己的程序中实现对db2数据库的数据导入
LOAD 实用程序是另一种用数据来填充表的方法。经过格式化的页被直接写入数据库。这种机制允许进行比 IMPORT 实用程序更有效的数据移动。不过,LOAD 实用程序不执行某些操作,如引用或表约束检查以及触发器调用。
以下是 LOAD 命令的核心;该命令还支持其它一些选项和修饰符,将在这一章的后续页中对此加以介绍。要成功地执行该命令,就必须具有 SYSADM、DBADM 或 LOAD 权限,或者对装入过程中所涉及的表具有 INSERT 和/或 DELETE 特权。
LOAD FROM input_source OF input_type
MESSAGES message_file
[ INSERT | REPLACE | TERMINATE | RESTART ]
INTO target_tablename
LOAD 的源输入的格式可以是 DEL、ASC、PC/IXF 或 CURSOR。游标是从 SELECT 语句返回的结果集。使用 CURSOR 作为装入输入的示例显示如下:
DECLARE mycursor CURSOR FOR SELECT col1, col2, col3 FROM tab1;
LOAD FROM mycursor OF CURSOR INSERT INTO newtab;
装入目标必须存在,该实用程序才能启动。这个目标可以是表、类型表或表别名。不支持向系统表或临时表进行装入。
请使用 MESSAGES 选项来捕获装入期间的任何错误、警告和信息性消息。
LOAD 可以以四种不同方式执行:
INSERT 方式将输入数据添加到表中,不更改现有表数据。
REPLACE 方式从表中删除全部现有数据,然后用输入数据填充该表。
TERMINATE 方式终止装入操作,然后回滚到装入操作的起始点。一个例外是:如果指定了 REPLACE 方式,那么表将会被截断。
RESTART 方式用于重新启动以前中断的装入。它将自动从上一个一致性点继续操作。要使用该方式,请指定与前面的 LOAD 命令中相同的选项,但却使用 RESTART 方式。它允许该实用程序找到在装入处理期间生成的所有必需临时文件。因此,除非能够确信不需要从装入生成的临时文件,否则就不要以手工方式除去任何这类文件,这一点十分重要。一旦装入不出任何错误地完成,临时文件就会被自动除去。缺省情况下,临时文件是在当前工作目录中创建的。可以使用 TEMPFILES PATH 选项指定存储临时文件的目录。 |
|