[mssql] ещё один nooby question ...

Alena_08_11

есть таблица (например Deleted в триггере, ну или пофиг)
хочется создать на её основе другую временную таблицу ( например select sum(blah blah) ... group by blah ... ) и юзать её потом в хранимке/триггере
как нибудь совсем просто это можно сделать ? :-)
хмм
или даже не совсем просто ... я чё то туплю и даже вообще не могу придумать как так сделать.

rosali

в mysql-е можно написать
 create temporary table t as select ... from ... 

попробуй?

Alena_08_11

низзя, пробовал :-)

Alena_08_11

оказываеццо можно, только синтаксис другой:
select blah blah into #temp_table from source_table
а рекомендуют вообще так :
create table #temp_table( ...) insert #temp_table select blah blah from source_table

madik_zxz

Главное после не забыть дропнуть временную таблицу.
Если этого не сделать, то последующий запуск запроса упадет при попытке создать эту временную таблицу еще раз.
MSSQL имеет типа данных: переменная типа таблицы.
т.е. как бы временная таблица, но в памяти (временная же таблица создается на диске)
которую еще и дропать не надо.

rosali

Временные таблицы сущесвуют же только до окончания сессии?
В любом случае ее нужно дропать не в конце скрипта, а в начале, чтобы он работал независимо от того, что было между запусками.
Оставить комментарий
Имя или ник:
Комментарий: