【发布时间】:2019-03-21 15:24:56
【问题描述】:
我正在使用mssql 节点模块来查询 SQL Server 数据库。
var update = {"id":"1","status":"active"};
sql.connect(config.then(pool => {
return pool.request()
.query(query)
}).then(result => {
console.dir(result)
if(result)
pool.close();
}).catch(err => {
console.log(err);
})
但是现在,我需要更新多条记录,只打开一个连接,要更新的记录数会动态变化。在下面的示例中,有 2 个设备需要更新。更新记录的数量根据请求而变化。
update =[{"id":"1","status":"active"},{"id":"1","status":"active"}]
var update = req.body.update;
var len = update.length;
for (i = 0; i < update.length; i++) {
var query = "UPDATE faults SET current_status = "+ status +" WHERE id = " + update[i].id ;
}
update();
据我了解,SQL Server 中没有像 MySql 那样的多语句执行选项。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
SQL Server 批量支持多条 DML 语句。请阅读有关 node.js 的 SQL 驱动程序docs.microsoft.com/en-us/sql/connect/node-js/…
-
谢谢,使用 connection.execSqlBatch(request) 并且工作正常。
标签: sql-server node.js azure promise azure-sql-database