Witajcie.
Silnik bazodanowy MS SQL Server 2017 wersja Developerska
Przykładowy skrypt:
DECLARE @json NVARCHAR(MAX);
SET @json = N'[
{"id": 2, "info": {"name": "John", "surname": "Smith"}, "age": 25},
{"id": 5, "info": {"name": "Jane", "surname": "Smith"}, "dob": "2005-11-04T12:00:00"}
]';
SELECT *
FROM OPENJSON(@json)
WITH (
id INT 'strict $.id',
firstName NVARCHAR(50) '$.info.name',
lastName NVARCHAR(50) '$.info.surname',
age INT,
dateOfBirth DATETIME2 '$.dob'
);
wykonuje się poprawnie w Management Studio.
Jak dodam na początku skryptu
USE [TEST]
GO
czyli skrypt wygląda tak
USE [TEST]
GO
DECLARE @json NVARCHAR(MAX);
SET @json = N'[
{"id": 2, "info": {"name": "John", "surname": "Smith"}, "age": 25},
{"id": 5, "info": {"name": "Jane", "surname": "Smith"}, "dob": "2005-11-04T12:00:00"}
]';
SELECT *
FROM OPENJSON(@json)
WITH (
id INT 'strict $.id',
firstName NVARCHAR(50) '$.info.name',
lastName NVARCHAR(50) '$.info.surname',
age INT,
dateOfBirth DATETIME2 '$.dob'
);
to Management Studio wywala błąd
Incorrect syntax near 'strict $.id'.
Jak podniosę tryb zgodności bazy TEST do SQL Server 2017 to Management Studio nie wywala błędu
Jak to ogarnąć bez podnoszenia trybu zgodności żeby skrypt działał poprawnie w Management Studio ?
Z góry dziękuję za pomoc.