2017-03-05 7 views
0

Ich versuche, die gesamte JSON-Datei in eine Tabelle von mir in SQL Server zu importieren.Auswählen und Einfügen von JSON-Datei in SQL Server-Tabelle

Die JSON-Daten sieht wie folgt aus:

{ 
    "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" 
    ] 
}, 

mit mehreren Einträgen wie diese. Ich versuche OPENROWSET und OPENJSON zu verwenden, um dies zu erreichen Sie die folgende Abfrage verwenden:

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

jedoch der Ausgang I zeigt immer bin nur die erste Frage Objekt in der Datei. Ich habe eine zweiteilige Frage:

Wie kann ich meine Abfrage alle Objekte in der Datei auswählen und dann alle diese Objekte in eine Tabelle in meinem SQL Server db einfügen?

Antwort

0

Wenn ich Sie richtig verstehe, ist es das:

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 

Auch ist nicht sicher, was Sie unter „Allerdings bedeuten, die Ausgabe ich nur immer zeigt das erste Objekt Frage in der Datei. "? Meinst du, das Frageobjekt hat mehrere Attribute?

Verwandte Themen