Как схема изменилась после создания целевой таблицы?

Я столкнулся с этой ошибкой, когда мое веб-приложение пыталось выполнить SELECT INTO в базе данных MSSQL 2005. У меня действительно два вопроса:

  1. Что означает эта ошибка и как это происходит?
  2. Есть ли способ предотвратить эти ошибки, кодируя по-другому?

person Bialecki    schedule 02.10.2008    source источник


Ответы (3)


Помимо очевидного, что кто-то изменил таблицу во время выполнения кода, это может быть конфликт имен с временными таблицами, созданными в SQL. Возможно, есть две временные таблицы с разными схемами, но с одинаковым именем.

person Eric Z Beard    schedule 02.10.2008

Вы можете получить эту ошибку, если триггер базы данных (ПОСЛЕ CREATE_TABLE) изменяет таблицу при использовании SELECT INTO.

person Jarle Bjørnbeth    schedule 28.09.2011

Также вы можете получить это, когда у вас есть SELECT * INTO #TABLE FROM TABLE, используемый в хранимой процедуре, и он запускается несколько раз одновременно.

person Daniel Smolka    schedule 24.08.2016