首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有方法仅使用DB2命令行和bash运行参数化update语句?

是否有方法仅使用DB2命令行和bash运行参数化update语句?
EN

Database Administration用户
提问于 2018-01-10 22:12:01
回答 1查看 197关注 0票数 0

我需要更新DB2表中的几十万行。与预编译方法相比,单个update语句的执行时间更长。由于某些限制,我无法在ODBC/JDBC/CLI和PreparedStatement.executeUpdate等方面使用perl或任何此类脚本工具。

是否有一种使用db2命令行工具和过程SQL来完成这一任务的方法?我的工具集仅限于bash、SQL和DB2命令行接口。

EN

回答 1

Database Administration用户

发布于 2018-01-11 21:06:33

如果您使用10.1或更高版本,则可以使用INGEST。它几乎和负载一样快,功能更丰富,对运行系统的影响也更小。首先,您需要通过创建控制表(如果您还没有)来启用它:

代码语言:javascript
复制
db2 'call sysproc.sysinstallobjects ( 'INGEST' ,'C' , null, null )';

现在,您可以摄入以下数据:

代码语言:javascript
复制
db2 "ingest from file tab1.del 
 format delimited (
     $colb ...,
     $colc ...
 ) update tableA set colA = null 
   where (colb, colc) = ($colb, $colc)"

以下是developerworks的一篇文章:

https://www.ibm.com/developerworks/data/library/techarticle/dm-1304ingestcmd/index.html

这是文件:

https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0057198.html

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/195115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档