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

Откуда: Киев
Сообщений: 21
Что эффективнее создание временной таблицы и ее заполнение или временной процедуры и ее исполнение. В принципе необходимо получить в переменную значение по динамически сформипрованному запросу (exec @str)/
9 авг 05, 18:27    [1773208]     Ответить | Цитировать Сообщить модератору
 Re: Мой интерес  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
я думаю первое.
хотя так и не понял зачем...
9 авг 05, 18:33    [1773221]     Ответить | Цитировать Сообщить модератору
 Re: Мой интерес  [new]
DAlex
Member

Откуда: Киев
Сообщений: 21
Например :
динамически создаю запрос
declare @X varxhar(8000), @O decimal(16,2)
select @X = 'select [ostatok] from [saldo]'+case when .... theh
'where [currency] = 860" else 'where [currency] = 840" end
Чтобы заполнить @O мне нужно
create table #z (r decimal(16,2))
insert into #z exec(@X0
select top 1 @O=r from #z

а не лучше ли сформировать временную процедуру, естественно через exec,
которая имела бы otput параметр @O
9 авг 05, 18:52    [1773254]     Ответить | Цитировать Сообщить модератору
 Re: Мой интерес  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
А не лучше sp_ExecuteSQL с OUTPUT параметром?
declare @X varxhar(8000), @O decimal(16,2)
select @X = 'select @0=[ostatok] from [saldo]'+case when .... theh
'where [currency] = 860" else 'where [currency] = 840" end
EXEC sp_ExecuteSQL @X, '@O decimal(16,2) OUTPUT', @O = @O OUTPUT
9 авг 05, 19:00    [1773282]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить