使用节点js将多个列和行插入SQL Server

时间:2018-06-13 14:49:05

标签: sql-server node.js multiple-columns insert-into

我正在尝试创建一个从nosql读取并插入SQL Server数据库的脚本。

那说我正在动态地阅读馆藏,所以我需要做一些事情来做

var columns = [ 1, 2, 3, 4 ...]
var values = [a, b, c ,4 ...]
request.query("INSERT INTO TABLE (" + [columns] + ") VALUES ( " [values] ");"

我有一些最多27列的集合,我不能通过插入每个值来占用数据库,因为我有20.000.000个寄存器要做...在事务中找不到任何可以做到的事情,所以我很感激任何建议

2 个答案:

答案 0 :(得分:1)

首先从npm下载sql server

  

npm install mssql

然后尝试这样:

var sql = require("mssql");

    // config for your database
    var config = {
        user: 'sa',
        password: 'mypassword',
        server: 'localhost', 
        database: 'SchoolDB' 
    };

    // connect to your database
    sql.connect(config, function (err) {

        if (err) throw err;
          console.log("Connected!");
          var sql = "INSERT INTO customers (name, address) VALUES ?";
          var values = [
                    ['John', 'Highway 71'],
                        ['Peter', 'Lowstreet 4'],
                        ['Amy', 'Apple st 652'],
                        ['Hannah', 'Mountain 21'],
                        ['Michael', 'Valley 345'],
                        ['Sandy', 'Ocean blvd 2'],
                        ['Betty', 'Green Grass 1'],
                        ['Richard', 'Sky st 331'],
                        ['Susan', 'One way 98'],
                        ['Vicky', 'Yellow Garden 2'],
                        ['Ben', 'Park Lane 38'],
                        ['William', 'Central st 954'],
                        ['Chuck', 'Main Road 989'],
                        ['Viola', 'Sideway 1633']
                      ];
              con.query(sql, [values], function (err, result) {
                if (err) throw err;
                console.log("Number of records inserted: " + result.affectedRows);   }); });

答案 1 :(得分:0)

var columns = [ 1, 2, 3, 4 ...]
var values = [a, b, c ,4 ...]
request.query(`INSERT INTO TABLE (${columns}) VALUES ?`), [[values]])


列是一个数组,因此将转换为用于删除“ [”和“]”括号的字符串。