Я беру несколько строк из таблицы, манипулирую ими во временной таблице, а затем пытаюсь вставить их как новые строки в исходную таблицу.
Однако я сталкиваюсь с проблемой со столбцом идентификаторов, даже если у меня нет столбца идентификаторов в моей временной таблице. Столбец идентификатора - это автоматически увеличивающееся число int.
Это кажется мне простой вещью, которую я слишком много думаю.
select top 0 *
into #TestTable
from OriginalTable;
...
--insert and manipulate records
...
ALTER TABLE #TestTable
DROP COLUMN MyIdentityColumn;
DECLARE @InsertedRows TABLE (NewSeqNum INT);
INSERT INTO OriginalTable
OUTPUT MyIdentityColumn INTO @InsertedRows(NewSeqNum)
SELECT * FROM #TestTable
но я получаю эту ошибку:
Явное значение для столбца идентификаторов в таблице «OriginalTable» можно указать только тогда, когда используется список столбцов и для IDENTITY_INSERT установлено значение ON.
Я абсолютно не хочу устанавливать явное значение, я хочу, чтобы оно было вставлено и предоставлено мне новое удостоверение (через @InsertedRows
)
*
, или я буквально застрял в списке их всех? - person Randy Hall   schedule 21.03.2017