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