DB2 load的指南

356 阅读5分钟

DB2 load

DB2加载简介

DB2为用户提供了LOAD在线工具,在这个工具中,我们可以将一个以上的表加载到表空间。通过LOAD在线工具,我们可以将不同的记录加载到表中并创建,或者说,我们可以建立任何定义在这些记录上的索引。有时,表包含一些记录。这时,我们有两个选择。首先,我们可以向表中添加新的记录,第二个选择是,我们可以在LOAD工具的时候替换现有的记录。在加载操作之后,我们可以执行不同类型的操作,如编辑或验证等。

语法

load from specified file name with file extension del insert into specific table name;

解释

在上面的例子中,我们使用load命令,通过插入语句将指定文件的内容加载到指定的表中。

加载命令在DB2中是如何工作的?

现在让我们来看看load命令在DB2中是如何工作的,如下所示。LOAD工具如何加载DB2表,如下所示。

利用 LOAD 工具将一个以上的表加载到表空间中,或者至少是表空间的一个分区。LOAD 工具在表空间上工作,所以当我们需要运行 LOAD 命令时,你应该拥有表空间中所有表的访问权。

LOAD工具将记录加载到表中,并构建或扩大任何表的特征。如果现在的表空间包含信息,你可以选择任何选项,即你是否需要将新的记录添加到当前的记录中或选择一个替换选项;这两个选项都取决于用户。

此外,你可以利用LOAD工具来执行以下任务,具体如下。

  • 我们可以根据要求对数据进行压缩并建立目录。
  • 通过使用LOAD命令,我们可以将记录转换为兼容的数据格式和编码模式之间。
  • 通过使用LOAD命令,我们可以将多个表加载到一个单独的表空间。

a) 带分隔符的输入和输出文件

LOAD和UNLOAD工具可以确认或创建一个带分隔符的记录或文件,这是一个带有行分隔符和列分隔符的连续BSAM文件。你可以从不同的框架中转储信息到至少一个使用分隔记录安排的文件中,然后利用这些分隔记录作为LOAD工具的贡献。同样地,你可以通过使用UNLOAD工具将DB2信息转储到带分隔符的文件中,然后利用这些记录来贡献给另一个DB2数据集。

b) INCURSOR选择

LOAD工具的INCURSOR选择为信息资料的收集指明了一个游标。在运行LOAD工具之前,利用EXEC SQL工具控制声明来宣布游标。你确定游标的特征,目的是让它从另一个DB2表中选择信息。在SELECT公告中的段名应该与被堆积的表的段名没有区别。INCURSOR替代方案使用DB2交叉加载器工作。

c) CCSID 替代选项

你可以将输入信息加载到ASCII、EBCDIC或Unicode表中。LOAD工具公告上的ASCII、EBCDIC和UNICODE替代选项让你表明信息记录中的信息配置是ASCII、EBCDIC还是Unicode。LOAD工具的CCSID选择允许你指出信息记录中信息的CCSID。如果信息的CCSID与表空间的CCSID不一致,信息字段会在堆叠前被改为表空间的CCSID。

d) 加载期间的可访问性

对于非分割的表空间,除了LOAD SHRLEVEL CHANGE之外,表空间中不同的表的信息,对于正在加载的表来说并不重要,在堆积活动中,其他应用程序无法访问。对于分割的表空间,在堆活动期间,除了LOAD SHRLEVEL CHANGE之外,其他应用程序同样无法访问正在加载的表空间中的信息。此外,一些SQL声明,如CREATE、DROP和ALTER,在表被加载时针对类似DB2信息库中的另一个表空间运行时可能会遇到争议。

e) 列的默认值。

当你加载一个表并且没有为至少一个部分提供激励时,DB2的动作依赖于条件。

在该段不是ROWID或个性段的情况下,DB2加载该段的默认估计值,这是由CREATE或ALTER TABLE公告的DEFAULT条件决定的。

如果该段是一个使用GENERATED BY DEFAULT选项的ROWID段,DB2会创建一个特殊的价值。

如果该段是一个使用GENERATED BY DEFAULT选项的个性段,DB2会提供一个预先确定的好处。

对于XML段,如果在表中有一个确定的DOCID段,它是用GENERATED ALWAYS特性制作的。

你不能为利用GENERATED ALWAYS选择的ROWID或字符段提供价值,因为这种选择意味着DB2始终提供一种好处。

例子

现在让我们来看看加载命令的不同例子,如下。

DB2 load output 1

db2 –tvf demoload.txt

解释

我们通过下面的截图来说明上述语句的最终输出,如下图所示。

load from emp.ixf of ixf replace into emp_copy

之后,运行一个select语句,看看结果如下。

select * from emp_copy;

解释

在上面的例子中,我们使用select语句来查看加载命令的结果。我们用下面的截图来说明上述语句的最终输出结果,如下图所示。

output 2

总结

我们希望通过这篇文章,你已经了解了DB2加载命令的内容。从上面的文章中,我们已经学会了加载命令的基本语法,我们也看到了加载命令的不同例子。我们还学习了加载命令的规则。从这篇文章中,我们了解了如何以及何时使用DB2 Load命令。

推荐文章

这是一篇关于DB2 load的指南。在这里我们讨论了load命令的基本语法,我们还看到了Load命令的不同例子。You may also have a look at the following articles to learn more -

  1. DB2创建表
  2. DB2 LISTAGG
  3. DB2版本
  4. DB2面试问题

The postDB2 loadappeared first onEDUCBA.