首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用node-mssql在NodeJS中的批处理中执行预准备语句?

使用node-mssql在NodeJS中的批处理中执行预准备语句?
EN

Stack Overflow用户
提问于 2020-03-11 06:07:51
回答 2查看 996关注 0票数 4

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

如何使用node-mssql包在NodeJs中实现同样的效果?

代码语言:javascript
复制
  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();
EN

回答 2

Stack Overflow用户

发布于 2020-03-14 14:55:45

您可以使用request.bulk方法进行大容量插入。

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

bulk (表,选项,)

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

示例:

代码语言:javascript
复制
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的更多信息

票数 1
EN

Stack Overflow用户

发布于 2020-03-20 22:28:27

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60626617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档