【问题标题】:Select and insert JSON file into SQL Server table选择 JSON 文件并将其插入 SQL Server 表
【发布时间】:2017-03-05 20:46:26
【问题描述】:

我正在尝试将整个 JSON 文件导入到我在 SQL Server 中的表中。

JSON 数据如下所示:

{
  "category": "General Knowledge",
  "type": "multiple",
  "difficulty": "hard",
  "question": "Electronic music producer Kygo's popularity skyrocketed after a certain remix. Which song did he remix?",
  "correct_answer": "Ed Sheeran - I See Fire",
  "incorrect_answers": [
    "Marvin Gaye - Sexual Healing",
    "Coldplay - Midnight",
    "a-ha - Take On Me"
  ]
},

有多个这样的条目。 我正在尝试使用OPENROWSET 和OPENJSON 使用以下查询来完成此操作:

SELECT value
 FROM OPENROWSET (BULK 'C:\Users\USERNAME\Desktop\general_questions.json', SINGLE_CLOB) as j
 CROSS APPLY OPENJSON(BulkColumn)

但是,我得到的输出只显示文件中的第一个问题对象。我有一个两部分的问题:

如何让我的查询选择文件中的所有对象,然后将所有这些对象插入到我的 SQL Server 数据库中的表中?

【问题讨论】:

    标签: mysql .net sql-server json database


    【解决方案1】:

    如果我没听错的话,是不是这样的:

    SELECT value
     FROM OPENROWSET (BULK 'C:\Users\USERNAME\Desktop\general_questions.json', SINGLE_CLOB) as j
     CROSS APPLY OPENJSON(BulkColumn)
    WITH 
    (
    CATEGORY VARCHAR2(MAX),
    ...
    ) AS JSON_TABLE 
    

    另外,我不确定“但是,我得到的输出仅显示文件中的第一个问题对象。”是什么意思?你的意思是问题对象有多个属性?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 2014-10-26
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      相关资源
      最近更新 更多