DB2中带DELETE语句的Ingest Utility不显示删除行数如何解决
DB2 Ingest Utility DELETE操作删除行数显示方案
原因说明
DB2 Ingest实用程序默认标准输出仅统计读取、插入、拒绝三类行数,你执行的是DELETE操作,没有插入行为,因此返回Number of rows inserted = 0属于正常情况,默认配置下不会展示删除操作的实际生效行数。
可用配置方法
- 在Ingest执行语句末尾添加
WITH STATISTICS参数,即可触发输出删除/更新等非插入操作的统计行数,修改后的命令如下:
db2 "ingest from file mypipe format delimited( $field1 CHAR(9), $field2 DATE 'yyyy-mm-dd' ) Delete from mytable where dob = $field2 WITH STATISTICS"
调整后输出会新增Number of rows deleted条目,展示实际删除的行数。
- 若使用Db2 11.1及以上版本,也可以在执行Ingest命令时添加
-report all参数,会打印全量操作统计数据,包含删除、更新的生效行数。 - 操作完成后也可通过系统统计视图查询删除行数,执行如下查询即可:
SELECT ROWS_DELETED FROM TABLE(MON_GET_INGEST_STATS(-2)) WHERE APPLICATION_HANDLE = APPLICATION_ID();
内容的提问来源于stack exchange,提问作者Vineeth Prabhakaran
相关产品推荐
相关产品推荐

