как получить имя столбца (ов), вызывающего ошибку «Имя столбца или количество предоставленных значений не соответствует определению таблицы» - PullRequest
1 голос
/ 22 августа 2011

Я хочу вставить данные из одной таблицы в другую.Обе таблицы имеют около 100 столбцов.Они имеют не одинаковую структуру, но «почти»: исходная таблица имеет примерно на 20 столбцов меньше - некоторые из них НЕ имеют значение NULL.Разумеется, для этих столбцов я должен определить значение по умолчанию.

В результате первого испытания появилось сообщение об ошибке (сюрприз):

не соответствует определению таблицы

Но в моем сложном случае это сообщение не очень полезно.Есть ли способ получить более точное сообщение об ошибке?

1 Ответ

2 голосов
/ 22 августа 2011

Рекомендуется упростить чтение запроса, а не полагаться на сообщение об ошибке из СУБД. Одна мысль:

  • Поместите каждый столбец на отдельной строке.
 INSERT INTO TargetTable (
    Col1,
    Col2,
    ....
 )
 SELECT 
    Col1,
    Col2,
    ....
 FROM SourceTable
  • создать новый лист Excel.
  • В SQL Server Management Studio Alt-F1 - ваша TargetTable; скопируйте и вставьте имя столбца (и, возможно, значения Nullable) в столбец таблицы Excel.
  • Скопируйте / вставьте столбцы TargetTable в ColumnB.
  • Запустите макрос или визуально осмотрите / отрегулируйте различия. Упомянутые вами обнуления, вы должны знать об этом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...