Этот вопрос близок к тому, что мне нужно, но мой сценарий немного отличается. Исходная таблица и таблица назначения одинаковы, а первичный ключ - это уникальный идентификатор (guid). Когда я пробую это:
insert into MyTable
select * from MyTable where uniqueId = @Id;
Я, очевидно, получаю нарушение ограничения первичного ключа, поскольку пытаюсь скопировать первичный ключ. На самом деле я вообще не хочу копировать первичный ключ. Скорее хочу создать новый. Кроме того, я хотел бы выборочно скопировать определенные поля, а остальные оставить пустыми. Чтобы усложнить ситуацию, мне нужно взять первичный ключ исходной записи и вставить его в другое поле копии (поле PreviousId).
Я уверен, что есть простое решение, я просто не знаю достаточно TSQL, чтобы понять, что это такое.