SORU
26 HAZİRAN 2009, Cuma


Varolan bir sütun için bir kimlik ekleme

Kimlik sütunu bir tablo birincil anahtarı değiştirmek gerekiyor, ve zaten tablodaki satır sayısı var.

Kimlikleri sıralı olduklarından emin olmak için, temizlemek için bir komut 1, işleri benim test veritabanı üzerinde iyi başlayan var.

Kimlik özelliği sütunu değiştirmek için SQL komutu nedir?

CEVAP
26 HAZİRAN 2009, Cuma


Kimlik için varolan sütunları değiştirebilirsiniz.

2 seçenek var

  1. Kimlik ile yeni bir tablo oluşturmak ve varolan bir tablo açılır

  2. Kimlik ile yeni bir sütun oluşturmak ve varolan bir sütun bırakın

Yaklaşım 1. (Yeni tabloBurada yeni oluşturulan kimlik sütunu mevcut veri değerleri koruyabilirsiniz.

CREATE TABLE dbo.Tmp_Names
    (
      Id int NOT NULL
             IDENTITY(1, 1),
      Name varchar(50) NULL
    )
ON  [PRIMARY]
go

SET IDENTITY_INSERT dbo.Tmp_Names ON
go

IF EXISTS ( SELECT  *
            FROM    dbo.Names ) 
    INSERT  INTO dbo.Tmp_Names ( Id, Name )
            SELECT  Id,
                    Name
            FROM    dbo.Names TABLOCKX
go

SET IDENTITY_INSERT dbo.Tmp_Names OFF
go

DROP TABLE dbo.Names
go

Exec sp_rename 'Tmp_Names', 'Names'

2 ( . yaklaşım ^em>Yeni bir sütunYeni oluşturulmuş kimlik sütunu mevcut veri değerleri korumak edemezsin, kimlik sütunu sayı dizisi düzenleyecek.

Alter Table Names
Add Id_new Int Identity(1, 1)
Go

Alter Table Names Drop Column ID
Go

Exec sp_rename 'Names.Id_new', 'ID', 'Column'

Daha fazla bilgi için aşağıdaki Microsoft SQL Server Forum sonrası bakın:

How to alter column to identity(1,1)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • adrianisen

    adrianisen

    25 Kasım 2009
  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012