Bulunan 1 den 6 - Toplam 6
[Çözüldü] Tablo colonunun identity özelliğini kod ile kaldırmak - - Programlama - Ceviz Forum
  1. #1
    Ceviz Üyesi
    Üyelik Tarihi
    24-Haziran-2011
    Mesaj
    4

    Varsayılan [Çözüldü] Tablo colonunun identity özelliğini kod ile kaldırmak

    Merhaba,

    sql serverda oluşturturulan tablo colonun identity özelliğini kod ile no ya çevirmeliyim.
    Resimde gösterdiğim alan. Bu konuda yardımlarınızı bekliyorum.


    Adı:  adsız.JPG
Görüntülemeler: 244
Boyutu:  23.8 KB

  2. #2
      skacurt Üyenin Avatarı
    Üyelik Tarihi
    04-Ocak-2008
    Nereden
    İstanbul
    Mesaj
    4,281

    Varsayılan

    Management Studio'da Identity Specification'ı No olarak değiştirdikten sonra resimde işaretlediğim ikona tıklarsan değişiklik için bir Change Script oluşturur. Bu sorguyu kullanabilirsin.
    ~^~

  3. #3
    Ceviz Üyesi
    Üyelik Tarihi
    24-Haziran-2011
    Mesaj
    4

    Varsayılan teşekkür ederim.

    Çok teşekkür ederim cevap verdiğiniz için .henüz denemedim. evden yazıyorum. yarın dener dönüş yaparım aksi durumda.

  4. #4
    Ceviz Üyesi
    Üyelik Tarihi
    24-Haziran-2011
    Mesaj
    4

    Varsayılan cvp

    Peki bunun başka bir yolu varmı Alter Table ile bunu yapmam mümkün değil mi ?

  5. #5
      skacurt Üyenin Avatarı
    Üyelik Tarihi
    04-Ocak-2008
    Nereden
    İstanbul
    Mesaj
    4,281

    Varsayılan

    Bir alanda Identity belirlendiğinde SQL Server arkaplanda bir çok farklı işlem yapıyor. Bu herhangi bir kolon özelliği gibi bir özellik değil o yüzden cevabı "hayır".
    Fakat alternatif yollarla yapılmaz değil. test tablosu için :
    yeni bir alan yaratıp
    Kod:
    Alter Table test Add yeniartan Int
    GO
    yeniartan bu alanı identity özelliği kaldırılacak alana eşitleyip:
    Kod:
    Update test set yeniartan = eskiartan
    GO
    eskiartan alan Primary Key ise kısıtı kaldırıp (varsa başka Constraint veya Index'ler de kaldırılmalı)
    Kod:
    Alter Table test Drop Constraint pk_test
    GO
    sonra eskiartan alanı kaldırabilir:
    Kod:
    Alter Table test Drop Column eskiartan
    GO
    Ve yenairtan'ı tekrar eskiartan olarak adlandırabilirsiniz.
    Kod:
    Exec sp_rename 'test.yeniartan', eskiartan
    GO
    Kod:
    /* Varsa yeni alan için Index ve Constraint eklemeleri */
    Eğer identity özelliği kaldırılacak alanın hiç bir Constraint veya Index'i yok ise kırmızı sorgu dışındaki sorguları sırası ile çalıştırırsanız yeterli olur.

    Kafa karıştırmayan üst düzey SQL Server sorguları olmadan bu şekilde bir çözüm iş görebilir. Çünkü Management Studio bu tür bir işi yapmak istediğinizde tablonun bir kopyasını oluşturup tüm verileri bu yeni geçici tabloya kopyaladıktan sonra eski tabloyu silip yeni tabloya eski tablonun adını veriyor. Benim tarif ettiğimde aynı şeyin sadece sütun bazında olanı. Kolay gelsin.
    ~^~

  6. #6
    Ceviz Üyesi
    Üyelik Tarihi
    24-Haziran-2011
    Mesaj
    4

    Varsayılan

    Çok sağolun bu benim işime daha çok yarayacak. İyi çalışmalar.

Konu Bilgileri

Bu Konuya Gözatan Kullanıcılar

Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)

Bu Konu için Etiketler

Yer İmleri

Mesaj Yetkileriniz

  • Yeni konu açmaya yetkiniz yok
  • Cevap yazmaya yetkiniz yok
  • Eklenti yüklemeye yetkiniz yok
  • Mesajınızı düzeltmeye yetkiniz yok
  •