powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Пытаюсь обойти ограничение на вложенные INSERT EXEC
8 сообщений из 8, страница 1 из 1
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026286
Здравствуйте!

По совету автора , по его второму решению пробую обойти ограничение на количество nested INSERT EXEC. Для этого вне своей процедуры создал связанный сервер(ссылающийся на себя) конструкцией:
Код: sql
1.
2.
3.
4.
5.
use master
go

exec sp_addlinkedserver N'127.0.0.1'
                      , N'SQL Server';


Потом внутри процедуры, которая не хотела выполнять INSERT ... EXEC, пытаюсь таки выполнить INSERT EXEC конструкцией вида:
Код: 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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
...
	IF OBJECT_ID ('tempdb.dbo.#su5_data') IS NOT NULL DROP TABLE #su5_data
	CREATE TABLE #su5_data(
		[LINK] [int] NOT NULL,
		[C_Alt_Number] [varchar](100) NULL,
		[F_Sale_Categories] [tinyint] NULL,
		[ssd_name] [varchar](250) NULL,
		[sd_name] [varchar](150) NULL,
		[ss_name] [varchar](150) NULL,
		[C_Network_Path] [varchar](1000) NULL,
		[C_Number] [varchar](306) NULL,
		[D_Date] [smalldatetime] NULL,
		[C_FIO] [nvarchar](max) NOT NULL,
		[C_Name1] [nvarchar](max) NULL,
		[C_Person] [varchar](2) NOT NULL,
		[C_Address1] [varchar](350) NULL,
		[N_Quantity] [decimal](18, 4) NULL,
		[N_Amount] [money] NULL,
		[N_Amount_Pay] [money] NULL,
		[N_Quantity_Pay] [decimal](19, 6) NULL,
		[N_Debt] [money] NULL,
		[ell_Name] [varchar](50) NULL,
		[d_date_sud] [smalldatetime] NULL,
		[D_Done_Date] [smalldatetime] NULL,
		[C_Reason_Types] [varchar](20) NULL,
		[C_Judgement_Decision] [varchar](255) NULL,
		[D_Last_Pay] [smalldatetime] NULL,
		[C_Notes] [varchar](4000) NULL,
		[C_Status] [varchar](50) NULL
	) 

	INSERT INTO #su5_data(
	[LINK]
      ,[C_Alt_Number]
      ,[F_Sale_Categories]
      ,[ssd_name]
      ,[sd_name]
      ,[ss_name]
      ,[C_Network_Path]
      ,[C_Number]
      ,[D_Date]
      ,[C_FIO]
      ,[C_Name1]
      ,[C_Person]
      ,[C_Address1]
      ,[N_Quantity]
      ,[N_Amount]
      ,[N_Amount_Pay]
      ,[N_Quantity_Pay]
      ,[N_Debt]
      ,[ell_Name]
      ,[d_date_sud]
      ,[D_Done_Date]
      ,[C_Reason_Types]
      ,[C_Judgement_Decision]
      ,[D_Last_Pay]
      ,[C_Notes]
      ,[C_Status]
	)
	select * from OpenQuery ( [127.0.0.1], 'EXEC EE.RPT_107_Statements_NoSubscr @N_Date_Mode = 0, @D_Date0 = ' + @begin_date +	', @D_Date = ' + @end_date + ', @C_SubDivisions = ' + @C_Divs +	', @F_Network_Items = NULL, @F_Partner_Types = NULL, @F_Networks = ' + @C_Networks )
...


и получаю ошибку:
авторНеправильный синтаксис около конструкции "+".
ссылающейся на первый + в последней строке, где @... - это переменные моей процедуры

В чем ошибка конкатенации, подскажите, пожалуйста
...
Рейтинг: 0 / 0
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026290
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун,

читайте инструкцию... С чего Вы решили, что такой синтаксис допустим?
...
Рейтинг: 0 / 0
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026293
Владислав Колосов, какую из? :)
...
Рейтинг: 0 / 0
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026295
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://docs.microsoft.com/ru-ru/sql/t-sql/functions/openquery-transact-sql?view=sql-server-ver15

авторВ качестве аргументов в функции OPENQUERY нельзя использовать переменные.
...
Рейтинг: 0 / 0
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026297
Спасибо... Какие-то еще могут быть варианты получить данные от чужой процедуры(имеющей параметры), код которой изменять нельзя?
...
Рейтинг: 0 / 0
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026307
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун
Какие-то еще могут быть варианты получить данные от чужой процедуры(имеющей параметры), код которой изменять нельзя?
Код: sql
1.
2.
insert into ...
 exec [127.0.0.1].MyDB.EE.RPT_107_Statements_NoSubscr @N_Date_Mode = 0, ...
...
Рейтинг: 0 / 0
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026310
invm, спасибо!
МатроскинУра! Заработало!
...
Рейтинг: 0 / 0
Пытаюсь обойти ограничение на вложенные INSERT EXEC
    #40026415
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун
Владислав Колосов, какую из? :)


справочную документацию, какую же ещё. Других нет инструкций.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Пытаюсь обойти ограничение на вложенные INSERT EXEC
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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