我正在尝试在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());
});
答案 0 :(得分:3)
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
将包含受影响的行数。