Я пытаюсь использовать tSQLt для тестирования хранимой процедуры, которая возвращает данные JSON. База данных работает под управлением SQL Server 2016. Хранимая процедура выглядит следующим образом (значительно упрощена):
CREATE PROCEDURE [SearchForThings]
@SearchText NVARCHAR(1000),
@MaximumRowsToReturn INT
AS
BEGIN
SELECT TOP(@MaximumRowsToReturn)
[Id],
[ItemName]
FROM
[BigTableOfThings] AS bt
WHERE
bt.[Tags] LIKE N'%' + @SearchText + N'%'
ORDER BY
bt.[ItemName]
FOR JSON AUTO, ROOT(N'Things');
END;
Это нельзя проверить так же, как XML - я попробовал тестовую таблицу, как показано ниже, которая была предложена в этом связанном ответе здесь -
CREATE TABLE #JsonResult (JsonData NVARCHAR(MAX))
INSERT #JsonResult (JsonData)
EXEC [SearchForThings] 'cats',10
Приведенный выше код выдает эту ошибку:
Предложение FOR JSON не допускается в операторе INSERT.
Я не могу изменить тестируемую хранимую процедуру. Как я могу зафиксировать результат JSON?
select statement
в SQL Server Management Studio и просмотреть результат? - person Clive Seebregts   schedule 15.12.2017