2017-03-05 71 views
0

我試圖在SQL Server中將整個JSON文件導入到我的表中。選擇並將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" 
    ] 
}, 

像這樣多個條目。 我試圖使用OPENROWSETOPENJSON此使用以下查詢來完成:

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

不過,我只得到了輸出顯示在文件中的第一個問題對象。我有兩個部分的問題:

如何讓我的查詢選擇文件中的所有對象,然後將所有這些對象插入到我的SQL Server數據庫中的表中?

回答

0

如果我理解你的權利,是這樣的:

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 

而且,我不知道你是什麼意思「不過,我只是得到的輸出顯示在文件中的第一個問題對象。 「?你的意思是問題對象有多個屬性?