从数组对象创建动态 SQL 插入

时间:2021-07-27 16:51:29

标签: arrays json typescript

我在 Typescript 中有一个项目,我需要使用对象的所有元素创建一个 Insert 以仅创建一个 Insert,而不是为每个数组创建一个 Insert。

这是我目前的功能:

public async insert() {

        let object = [{ cod: 'CO',
        file: 'CO_SER.csv',
        exists: 1},
      { cod: 'ES',
        file: 'ES_INS.csv',
        exists: 1 } ];


        for (let elem of object) {
            let insert = `INSERT INTO databaseID VALUES ("${elem.cod}", "${elem.file}", ${elem.exists})`;
        }

    }

这是我得到的:

INSERT INTO databaseID VALUES ("CO", "CO_SER.csv", 1)
INSERT INTO databaseID VALUES ("ES", "ES_INS.csv", 1)

这就是我想要实现的:

INSERT INTO databaseID VALUES ("CO", "CO_SER.csv", 1), ("ES", "ES_INS.csv", 1)

1 个答案:

答案 0 :(得分:0)

let object = [
  { cod: 'CO',
    file: 'CO_SER.csv',
    exists: 1},
  { cod: 'ES',
    file: 'ES_INS.csv',
    exists: 1 } ];

let insert = `INSERT INTO databaseID VALUES ` + 
  object.map(
    elem => `("${elem.cod}", "${elem.file}", ${elem.exists})`
  ).join(', ')

console.log(insert)