Bu soru ihtiyacım olana yaklaşıyor ama benim senaryom biraz farklı. Kaynak tablo ve hedef tablo aynıdır ve birincil anahtar benzersiz bir tanımlayıcıdır (kılavuz). Bunu denediğimde:
insert into MyTable
select * from MyTable where uniqueId = @Id;
Birincil anahtarı kopyalamaya çalıştığım için açıkça bir birincil anahtar kısıtlaması ihlali alıyorum. Aslında, birincil anahtarı hiç kopyalamak istemiyorum. Aksine, yeni bir tane oluşturmak istiyorum. Ek olarak, seçici olarak belirli alanları kopyalamak ve diğerlerini boş bırakmak istiyorum. Sorunları daha karmaşık hale getirmek için, orijinal kaydın birincil anahtarını alıp kopyadaki başka bir alana (Önceki Kimlik alanı) eklemem gerekiyor.
Eminim bunun kolay bir çözümü vardır, ne olduğunu bilmek için yeterli TSQL bilmiyorum.