使用node-mssql在NodeJS中批量执行准备好的语句?

问题描述 投票:2回答:1

在Java中,我可以一次性发送多组参数化查询的参数(请参阅下面的代码示例)。

如何使用node-mssql包在NodeJ中完成相同的结果?

  PreparedStatement ps = c.prepareStatement("INSERT INTO employees VALUES (?, ?)");
  ps.setString(1, "John");
  ps.setString(2,"Doe");
  ps.addBatch();
  ps.clearParameters();
  ps.setString(1, "Dave");
  ps.setString(2,"Smith");
  ps.addBatch();
  ps.clearParameters();
  int[] results = ps.executeBatch();

node.js sql-server parameterized-query node-mssql
1个回答
0
投票

您可以使用request.bulk方法批量插入。

此示例是node-mssql驱动程序包。

批量(表,[选项,] [回调])] >>执行批量插入。参数table- sql.Table实例。options-要传递给驱动程序的Options对象(仅当前很繁琐)。可选的。如果参数是一个函数,它将被视为回调。callback(err,rowCount)-在大容量插入完成或发生错误之后调用的回调。可选的。如果省略,则返回Promise。

示例:

const request = new sql.Request(/* [pool or transaction] */)

try {
    const table = new sql.Table('employees ') // or temporary table, e.g. #temptable
    table.rows.add(1, "John");
    table.rows.add(2,"Doe");
    table.rows.add(1, "Dave");
    table.rows.add(2,"Smith");

    const request = new sql.Request()
    await request.bulk(table);
} catch(error) {
    console.error(error.message);
}

您可以阅读有关批量插入here的更多信息>

© www.soinside.com 2019 - 2024. All rights reserved.