【问题标题】:How to get row update count in a DB2 update query in node.js?如何在 node.js 中的 DB2 更新查询中获取行更新计数?
【发布时间】:2015-09-29 11:31:10
【问题描述】:

我正在尝试在 DB2 数据库的 node.js 中执行更新语句。更新操作有效,但我不知道如何在查询执行后获取 DB2 中更新记录的计数。任何帮助将不胜感激。 以下是我的代码:

conn.beginTransaction(function (err) {
if (err) {
//could not begin a transaction for some reason. 
console.log(err);
return conn.closeSync();
}
var stmt = ("Update tableA set col1='abc' where col2='xyz'");
var result = conn.querySync(stmt);
conn.commitTransaction(function (err){
if (err) {
console.log(err);
return conn.closeSync();
}
});
console.log('Rows affected :: '+ result.numRows());
});

【问题讨论】:

标签: node.js db2 rowcount ibm-db2


【解决方案1】:

NPM 文档似乎有点不完整。对于 DML 语句,您可能应该使用 ODBCStatement.executeNonQuerySync(),其中 according to the source code (line 413) 返回受影响的行数。

如果您使用的是最新版本的 DB2 for LUW,作为替代方案,您可以将 UPDATE 包装在 数据更改表 参考中:

var stmt = ("select count(*) from final table (" + 
            "Update tableA set col1='abc' where col2='xyz'"+
            ")");
var result = conn.querySync(stmt);

result 将包含受影响的行数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    相关资源
    最近更新 更多