簡體   English   中英

使用node-mssql在NodeJS中批量執行准備好的語句?

[英]Execute prepared statement in a batch in NodeJS using node-mssql?

在 java 中,我可以一次性發送參數化查詢的多組參數(請參閱下面的代碼示例)。

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

  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();

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

此示例是node-mssql驅動程序包。

批量(表,[選項,] [回調])
執行批量插入。

參數

表 - sql.Table 實例。

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);
}

您可以在此處閱讀有關批量插入的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM