如何使用基本 DML 操作在 db2 中创建外部表
Posted
技术标签:
【中文标题】如何使用基本 DML 操作在 db2 中创建外部表【英文标题】:How to create external table in db2 with basic DML operation 【发布时间】:2019-11-18 12:52:04 【问题描述】:我使用以下命令创建了外部表
db2 "
CREATE EXTERNAL TABLE TEST(a int) using
(dataobject '/home/db2inst2/test.tbl' )
)
"
db2 "insert into TEST values(1)"
db2 "insert into TEST values(2)"
但看起来它正在取代价值。是否有任何选项可以附加文件并在外部表上执行基本的 DML 操作。如果 db2 V11.5 中还有其他可用选项,请告诉我
【问题讨论】:
【参考方案1】:这是不可能的。
CREATE EXTERNAL TABLE statement
限制
在 Windows 系统上运行的 Db2 实例不能使用外部表。 加载的数据必须正确格式化。 您不能删除、截断或更新外部表。 对于远程外部表(即,外部表不在 Swift 或 S3 对象存储中,并且 REMOTESOURCE 选项设置为 LOCAL 以外的值): 单个查询或子查询一次不能从多个外部表中进行选择,并且不能引用同一个外部表 不止一次。如有必要,合并来自多个外部的数据 表合并到一个表中,并在查询中使用该表。 联合操作不能涉及多个外部表。
另外:
对于卸载操作,以下条件适用:
如果文件存在,则将其覆盖。
【讨论】:
感谢您的回复.....基本上我需要避免重组,因为表大小非常大,我们在最新版本中是否有任何新选项 有一个叫做“reduced redo logging”的特性,它应该在仓库安装中默认可用。当您的表更改变得“足够大”时,它会自动减少日志记录。可能对大型“插入选择”/CTAS 语句有帮助。以上是关于如何使用基本 DML 操作在 db2 中创建外部表的主要内容,如果未能解决你的问题,请参考以下文章