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