Nasıl bir SQL tablosuna bir kayıt kopya ama yeni satırın benzersiz kimliği takas mı? | Netgez.com
SORU
29 EYLÜL 2008, PAZARTESİ


Nasıl bir SQL tablosuna bir kayıt kopya ama yeni satırın benzersiz kimliği takas mı?

This question ihtiyacım olan şey yakın geliyor, ama benim senaryo biraz farklı. Kaynak tablo ile hedef tablo aynı ve birincil anahtar aşağıdaki örnek (guıd). Bu deneyin:

insert into MyTable
    select * from MyTable where uniqueId = @Id;

Açıkçası birincil anahtar kopyalama girişimi olduğum için birincil anahtar kısıtlaması ihlali. Aslında, birincil anahtar kopyalamak istemiyorum. Bunun yerine, yeni bir tane oluşturmak istiyorum. Ayrıca, seçime bağlı olarak, belirli alanları kopyalamak ve diğerlerini boş bırakmak istiyorum. Konularda daha karmaşık hale getirmek için, orijinal kaydın birincil anahtarı almak ve kopyasını başka bir alana (Previousİd alan) eklemek istiyorum.

Bu kolay bir çözümü vardır eminim, ben sadece ne olduğunu bilecek kadar TSQL bilmiyorum.

CEVAP
29 EYLÜL 2008, PAZARTESİ


Bu deneyin:


insert into MyTable(field1, field2, id_backup)
    select field1, field2, uniqueId from MyTable where uniqueId = @Id;

Herhangi bir alan olarak belirtilen varsayılan değeri tanımlı değil genelde BOŞ olan) almak gerekir.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • 3biblecom

    3biblecom

    23 NİSAN 2011
  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010