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

Откуда: Москва
Сообщений: 53
Добрый день!
Подскажите пожалуйста, при написании скрипта пришлось использовать хранимую процедуру EXECUTE sp_executeSQL , теперь не как не могу разобраться, как полученный результат @table сохранить во временную таблицу #table

К сообщению приложен файл. Размер - 33Kb
10 июл 14, 09:58    [16284822]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
adunya,

неплохая попытка. :) многие приходят именно к этому.
но нет, так просто не получится. таблицу с нужной структурой сначала надо создать.

на самом деле, способ достичь желаемого есть, если уж оооочень хочется.
создать таблицу с одним (или несколькими) обязательным столбцом, который есть в ней всегда, а
остальные добавить динамически с помощью alter table.

но по большому счету - ерундой вы занимаетесь.
10 июл 14, 10:06    [16284868]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
adunya
Member

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

Таблицу не сложно создать с помощью цикла, но у меня админ категорически запрещает их использовать, как быть , может на правите на путь истины.
10 июл 14, 10:17    [16284936]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
adunya
daw,

Таблицу не сложно создать с помощью цикла, но у меня админ категорически запрещает их использовать, как быть , может на правите на путь истины.


создать _временную_ таблицу. я думал, по контексту понятно. добавлять столбцы можно и к временным таблицам, так же, как и к обычным.
10 июл 14, 10:34    [16285036]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Есть ли какая-та возможность задать порядковые номера столбцам в таблице , а после без цикла удалить допустим все столбцы номер которых больше определенного значения (допустим >10)?
10 июл 14, 13:23    [16286267]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
_djХомяГ
Guest
А для чего это , если не секрет?
10 июл 14, 13:26    [16286300]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
_djХомяГ,

Задача:
Необходимо вывести таблицу с платежами сгруппированную по дням с первого числа месяца по вчерашний день, цикл использовать нельзя
1 вариант скрипта выше, там тупик, я не могу разобраться, как полученный результат @table сохранить во временную таблицу #table, чтобы работать с ней дальше
Если использовать обычный PIVOD прописывая все варианты дней в месяце, с1 по 31, то после из таблицы необходимо удалить столбцы с днями которые еще не наступили

К сообщению приложен файл. Размер - 19Kb
10 июл 14, 13:51    [16286566]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
invm
Member

Откуда: Москва
Сообщений: 9400
adunya
то после из таблицы необходимо удалить столбцы с днями которые еще не наступили
Зачем? Чем они мешают?
10 июл 14, 13:58    [16286631]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
adunya
Member

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

это требование заказчика
10 июл 14, 14:14    [16286760]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
invm
Member

Откуда: Москва
Сообщений: 9400
adunya
это требование заказчика
Требование заказчика, наверное, - получить данные с определенным набором столбцов, а не способ их получения?

1. Складываете результат статического pivot во временную таблицу;
2. Формируете динамический select из этой таблицы.

И не надо удалять столбцы.
10 июл 14, 14:23    [16286846]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
adunya
Member

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


Есть ли возможность результаты динамического запроса поместить во временную таблицу ?
10 июл 14, 14:58    [16287104]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
adunya
Есть ли возможность результаты динамического запроса поместить во временную таблицу ?

INSERT ... EXEC ...
10 июл 14, 23:42    [16289621]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Glory,
Этот вариант мне не подходит , чтобы сделать INSERT ... EXEC ... ,я заранее должны создать временную таблицу с определенным количеством столбцов, а сколько из будет , нам не известно, динамический PIVOT как раз это и делает
11 июл 14, 08:23    [16289867]     Ответить | Цитировать Сообщить модератору
 Re: Как при использовании EXECUTE sp_executeSQL сохранить результаты во временную таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
adunya
,я заранее должны создать временную таблицу с определенным количеством столбцов, а сколько из будет , нам не известно, динамический PIVOT как раз это и делает

И что вам мешает сделать тоже самое для команды create table ?
11 июл 14, 10:10    [16290292]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить