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

Откуда:
Сообщений: 44
Возникла необходимость заполнить курсор значениями, заполненный результатом выполнения процедуры sp_executesql с параметрами:

EXEC sp_executesql @Sql,
N'@Property_ID VARCHAR (20)=NULL,
@PropertyClient_ID VARCHAR (20)=NULL',
@Property_ID,
@PropertyClient_ID'

Для примера показаны два параметра, на самом деле их больше 10. Красивее и проще писать динамический @Sql так, чтобы потом только передать параметры в EXEC sp_executesql.

Вопрос - можно ли результат выполнения sp_executesql процедуры (С ПАРАМЕТРАМИ) заюзать в курсоре без создания промежуточных таблиц?
19 окт 09, 21:08    [7808365]     Ответить | Цитировать Сообщить модератору
 Re: EXEC sp_executesql с динамическим запросом с параметрами  [new]
Crimean
Member

Откуда:
Сообщений: 13148
openquery?
20 окт 09, 11:17    [7810067]     Ответить | Цитировать Сообщить модератору
 Re: EXEC sp_executesql с динамическим запросом с параметрами  [new]
Takhir
Member

Откуда:
Сообщений: 44
По-моему, openquery для других целей служит...
Проблема остается нерешенной.
20 окт 09, 18:46    [7813885]     Ответить | Цитировать Сообщить модератору
 Re: EXEC sp_executesql с динамическим запросом с параметрами  [new]
Crimean
Member

Откуда:
Сообщений: 13148
оно-то "для того", но вот через переменную туда запрос не передать никак :(
разве что совсем через задний проход

/*
declare @name sysname
set @name = @@servername
exec sp_serveroption @name, 'data access', 'on'
*/
go

set ansi_nulls on
set ansi_warnings on
go

create proc ##p1
as
select 1 as id union all select 10 union all select 100
go

select * from openquery  ( [SQL\E64], 'exec ##p1' ) where id < 100
go

drop proc ##p1
go
20 окт 09, 20:19    [7814179]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить