2017-02-09 7 views
0

Ich versuche, Daten aus einer JSON-Zeichenfolge zu extrahieren und in eine SQL Server-Tabelle einzufügen. Aber ich bekomme diese Fehlermeldung:Extrahieren von Daten aus JSON und Einfügen in SQL Server

Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.

Hier ist mein Code

declare @json nvarchar(max) = '{ 
"id" : 2, 
"firstName": "John", 
"lastName": "Smith", 
"isAlive": true, 
"age": 25, 
"dateOfBirth": "2015-03-25T12:00:00" 
}' 

SELECT * 
FROM OPENJSON(@json) 
    WITH (id int, firstName nvarchar(50), lastName nvarchar(50), 
      age int, dateOfBirth datetime2) 
+0

Sie haben vergessen, IsAlive Parameter in SQL-Abfrage –

+0

Überprüfen Sie, dass auf dem Server SQL Server 2 ausgeführt wird 016. Ältere Versionen unterstützen "OPENJSON" nicht. –

Antwort

-1

Sie korrekte Syntax:

OPENJSON Funktion, die JSON-Dokument

RowSet verwandelt
declare @json nvarchar(max) = '{ 
"id" : 2, 
"firstName": "John", 
"lastName": "Smith", 
"isAlive": true, 
"age": 25, 
"dateOfBirth": "2015-03-25T12:00:00" 
}'; 

SELECT * 
FROM OPENJSON(@json) 
;WITH (id int, firstName nvarchar(50), lastName nvarchar(50), isAlive bit, age int, dateOfBirth datetime2) 
+0

immer noch bekomme ich den gleichen Fehler wie – srinivasan

+0

Msg 319, Ebene 15, Zustand 1, Zeile 12 Falsche Syntax in der Nähe des Schlüsselwortes 'mit'. Wenn es sich bei dieser Anweisung um einen allgemeinen Tabellenausdruck, eine xmlnamespaces-Klausel oder eine Änderungsverfolgungskontextklausel handelt, muss die vorherige Anweisung mit einem Semikolon abgeschlossen werden. – srinivasan

+0

@srinivasan versuchen Sie diesen aktualisierten Code jetzt –

Verwandte Themen