powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не удаётся создать Сторед Процедуру с WITH и JSON
7 сообщений из 7, страница 1 из 1
Не удаётся создать Сторед Процедуру с WITH и JSON
    #39585138
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
CREATE PROCEDURE [dbo].[JsonTest] @json NVARCHAR(MAX)
SELECT *
FROM OPENJSON(@json)  
WITH (Currency NVARCHAR(3))  


Когда я пытаюсь создать такую сторед процедуру, она не создаётся с ошибкой:
SQL Server 2016Неправильный синтаксис около ключевого слова "with". Если эта инструкция является обобщенным табличным выражением, предложением xmlnamespaces или предложением в контексте отслеживания изменений, предыдущую инструкцию необходимо завершить точкой с запятой.
Хотя такой запрос выполняется без ошибок:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
DECLARE @json NVARCHAR(MAX)
SET @json =N'[
{"Currency": "RUB"},
{"Currency": "USD"},
{"Currency": "EUR"}
]'
SELECT *
FROM OPENJSON(@json)  
WITH (Currency NVARCHAR(3))  



Я не понимаю, куда надо поставить эти ";", может кто подсказать, в чём дело ?
...
Рейтинг: 0 / 0
Не удаётся создать Сторед Процедуру с WITH и JSON
    #39585146
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AS пропустили?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
	-- Add the parameters for the stored procedure here
	<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
	<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END
GO
...
Рейтинг: 0 / 0
Не удаётся создать Сторед Процедуру с WITH и JSON
    #39585154
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Нет, просто ошибся в исходниках...
Оказалась ошибка в базе, compatibility level надо 130+
Или выполнять на базе Master...
...
Рейтинг: 0 / 0
Не удаётся создать Сторед Процедуру с WITH и JSON
    #39585167
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BИли выполнять на базе Master...
...
Рейтинг: 0 / 0
Не удаётся создать Сторед Процедуру с WITH и JSON
    #39585175
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,

ну это у него оказалась единственная база с несдвинутым уровнем :)
...
Рейтинг: 0 / 0
Не удаётся создать Сторед Процедуру с WITH и JSON
    #39585210
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKmsLex,

ну это у него оказалась единственная база с несдвинутым уровнем :)

Она обновилась сама, когда обновляли с 2014 на 2016.
Как раз Мастер - единственная база, которая меняет уровень совместимости)
А у остальных - 130

Но ошибка про точку с запятой явно не адекватна... поставила в тупик.
...
Рейтинг: 0 / 0
Не удаётся создать Сторед Процедуру с WITH и JSON
    #39585213
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BА у остальных - 130

В смысле 100, т.е. SQL 2008
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не удаётся создать Сторед Процедуру с WITH и JSON
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]