Я пытаюсь скопировать запись из TableA обратно в TableA, но с использованием новой Identity. Я не хочу указывать список столбцов, так как у меня более 100 столбцов, и может быть больше в будущем. Id как кусок кода, который может запускаться, когда/если что-то меняется.SQL-копирование записи без указания списка столбцов; игнорируя Identity
Посмотрев на подобные вопросы, я пытался этот код
SELECT * INTO #tmp FROM TableA WHERE Id = 1;
ALTER TABLE #tmp DROP COLUMN Id;
INSERT INTO TableA SELECT * FROM #tmp;
Drop Table #tmp;
Однако я все еще получаю эту ошибку
An explicit value for the identity column in table 'dbo.TableA' can only be specified when a column list is used and IDENTITY_INSERT is ON.
Забегая Select * FROM #tmp дает мне то, что я хотел бы ожидать. Единственная запись со всеми моими столбцами, за исключением столбца Id.
Любые идеи?
Спасибо!
EDIT Вот такая картина свойств колонны Id
Я полагаю, вы найдете ответ на свой вопрос здесь: http://stackoverflow.com/a/2005449/3044080 – nomistic
я уже смотрел на эту страницу. Я не пытаюсь сделать Identity Insert. Мне все равно хотелось бы, чтобы столбец Id автоматически генерировал следующий номер. – user2684037
Вы уверены, что 'Id' является, по сути, столбцом Identity для этой таблицы? –