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

Откуда:
Сообщений: 521
День добрый!
Чего-то туплю :(
Есть динамический селект, типа
declare @SQL
Set @Sql='select Min(Id) from MyTable'

Нужно использовать результат запуске @SQL, т.е. типа того:
If exec(@Sql)>8 then....

Ну или типа такого
Insert into MyTable2
Select from exec(@Sql)


Это возможно?
Запустить весь код динамически нельзя.

Спасибо!
24 сен 14, 14:32    [16616061]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз с динамическим SQL-ем  [new]
o-o
Guest
abrashka,
declare @SQL varchar(100) = 'select Min(n) from dbo.Nums';
create table dbo.res(min_n int);

insert into dbo.res(min_n)
exec(@SQL);

select *
from dbo.res;
----------------
min_n
1
24 сен 14, 14:37    [16616091]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз с динамическим SQL-ем  [new]
afgm
Member

Откуда:
Сообщений: 587
abrashka,
кроме
insert into @tbl -- или #tbl или просто tbl
exec @sql
есть ещё
declare @val int
exec sp_executesql N'select @val = min(id) from (values(1),(2),(3)) as R(id)', N'@val int out', @val = @val out
select @val
24 сен 14, 15:20    [16616452]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз с динамическим SQL-ем  [new]
abrashka
Member

Откуда:
Сообщений: 521
Спасибо всем!
Пробовал в переменную и получал ошибку, а с таблицей все работает, спасибо!
24 сен 14, 15:23    [16616477]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить