Pertanyaan ini mendekati apa yang saya butuhkan, tetapi skenario saya sedikit berbeda. Tabel sumber dan tabel tujuan sama dan kunci utamanya adalah pengidentifikasi unik (guid). Ketika saya mencoba ini:
insert into MyTable
select * from MyTable where uniqueId = @Id;
Saya jelas mendapatkan pelanggaran batasan kunci utama, karena saya mencoba menyalin kunci utama. Sebenarnya, saya sama sekali tidak ingin menyalin kunci utama. Sebaliknya, saya ingin membuat yang baru. Selain itu, saya ingin menyalin bidang tertentu secara selektif, dan membiarkan yang lain kosong. Untuk membuat masalah lebih kompleks, saya perlu mengambil kunci utama dari rekaman asli, dan memasukkannya ke bidang lain di salinan (bidang Id Sebelumnya).
Saya yakin ada solusi mudah untuk ini, saya hanya tidak tahu cukup TSQL untuk mengetahui apa itu.