Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Результат Динамческого запроса в переменную  [new]
max2000
Member

Откуда:
Сообщений: 189
Есть запрос:
Declare @sSQL nVarChar(4000),@ls int ='5555'
Set @sSQL=Convert(nVarChar(2222),'Select Max(Period) As iId From tbAllItog Where ls='+Convert(nVarChar(111),@ls))
Exec (@sSQL);

Нужно получить значение iId
Вопрос как это сделать?
27 июл 17, 15:00    [20679984]     Ответить | Цитировать Сообщить модератору
 Re: Результат Динамческого запроса в переменную  [new]
aleks222
Guest
Изучить sp_sqlexec.
27 июл 17, 15:01    [20679991]     Ответить | Цитировать Сообщить модератору
 Re: Результат Динамческого запроса в переменную  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
max2000,

sp_executesql
27 июл 17, 15:02    [20679992]     Ответить | Цитировать Сообщить модератору
 Re: Результат Динамческого запроса в переменную  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2551
max2000,

через временную таблицу снаружи динамического запроса. Но может обойтись без динамики?
27 июл 17, 15:02    [20679993]     Ответить | Цитировать Сообщить модератору
 Re: Результат Динамческого запроса в переменную  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7762
max2000,

У Вас там конкатенация строк, зачем Вам @id?
27 июл 17, 15:23    [20680091]     Ответить | Цитировать Сообщить модератору
 Re: Результат Динамческого запроса в переменную  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7762
Сорри, мелко написано..

insert #tbl
exec ()

а к чему там вообще динамический запрос???
27 июл 17, 15:25    [20680101]     Ответить | Цитировать Сообщить модератору
 Re: Результат Динамческого запроса в переменную  [new]
klikli
Member

Откуда:
Сообщений: 9
запрос перебирает огромное количество таблиц из запроса
Select name From sys.objects Where name like 'K20%' and type in (N'U') Order By name

спасибо за наводку sp_executesql , сразу не понял как использовать ибо напугало большое количество параметров

Каму интересен ответ на решение а не просто "пользуйся sp_executesql", вот мой пример:

DECLARE @SQLString nvarchar(500);
DECLARE @pD nvarchar(500);
DECLARE @pMax Float
SET @SQLString = N'SELECT @pMaxO = MAX(SaldoBegin) FROM tbAllItog WHERE ls = @idLS';
SET @pD = N'@idLS int,@pMaxO Float OUTPUT';
EXECUTE sp_executesql @SQLString,@pD,@idLS = 8891907,@pMaxO = @pMax OUTPUT;
SELECT @pMax;


Спасибо за помощь!
28 июл 17, 06:51    [20681329]     Ответить | Цитировать Сообщить модератору
 Re: Результат Динамческого запроса в переменную  [new]
klikli
Member

Откуда:
Сообщений: 9
Владислав Колосов,

Это кусочек выдранный из контекста, мне надо перебрать уйму таблиц и найти в каждой несколько значений.
28 июл 17, 06:54    [20681330]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить