Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Странность в работе со временными таблицами

552
25 октября 2007 года
Ivanhoe
373 / / 30.04.2006
Похоже, я чего-то не понимаю :)

Представим: прога на C#, база на MSSQL.
В определенный момент делаем нечто такое:
Код:
SqlCommand command;
...
command.CommandText =
  "SELECT Foo "
  + "INTO #tmp_table "
  + "FROM FooTable;"
command.ExecuteNonQuery();

command.CommandText =
  "SELECT * FROM #tmp_table;"
command.ExecuteReader();

Получаем эксепшн с радостным уведомлением о том, что объект "#tmp_table" не существует.

Сделав же:
 
Код:
SqlCommand command;
...
command.CommandText =
  "SELECT Foo "
  + "INTO #tmp_table "
  + "FROM FooTable; "
  + "SELECT * FROM #tmp_table;"
command.ExecuteNonQuery();

Получаем нормальный ридер из этой временной таблицы.

Не подскажете, в чем загвоздка? Неужели временная таблица не живет между вызовами ExecuteXXX()?
5
26 октября 2007 года
hardcase
4.5K / / 09.08.2005
Временная таблица живет в рамках одной транзакции.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог