Aracılığıyla paylaş


column_definition (Transact-SQL)

tablo kullanılarak eklenen bir sütun özelliklerini belirtir alter table.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

column_name [ type_schema_name. ] type_name
    [ 
                ( { precision [ , scale ] | max | 
            [ { CONTENT | DOCUMENT } ] xml_schema_collection } ) 
    ] 
    [ FILESTREAM ]
    [ 
        [ CONSTRAINT constraint_name ] DEFAULT constant_expression 
             [ WITH VALUES ] 
        | IDENTITY [ (seed , increment ) ] [ NOT FOR REPLICATION ] 
    ] 
    [ ROWGUIDCOL ] 
    [ COLLATE < collation_name > ] 
    [ <column_constraint> [ ...n ] ] 

Bağımsız değişkenler

  • column_name
    Değiştirilen, eklenen veya bırakılan sütun addır.column_name1 ile 128 karakterden oluşabilir.Yeni makaleler için column_name ile oluşturulan sütunlar için atlanmış bir timestamp veri türü.Yok, column_name için belirtilen bir timestamp veri türü sütun, ad zaman damgası kullanılır.

  • [ type_schema_name**.** ] type_name
    Bir sütun eklenir ve ait olduğu şema veri türüdür.

    type_nameaşağıdakilerden biri olabilir:

    • A Microsoft SQL Server Sistem veri türü.

    • Bir diğer ad veri türü temel alan bir SQL Server Sistem veri türü.Diğer veri türleri, tablo tanımında kullanılmadan önce oluşturma türü kullanılarak oluşturulmalıdır.

    • A Microsoft .NET Framework kullanıcı tanımlı tür ve ait olduğu şema.A .NET Framework kullanıcı tanımlı tür tablo tanımında kullanılmadan önce oluşturma türü kullanılarak oluşturulmalıdır.

    type_schema_name Belirtilmezse, Microsoft Veritabanı Altyapısı başvuruları type_name aşağıdaki sırayla:

    • SQL Server Sistem veri türü.

    • Geçerli veritabanında geçerli kullanıcının varsayılan şema.

    • Dbo geçerli veritabanında şema.

  • precision
    Belirtilen veri türü duyarlık olur.Geçerli kesinlik değerleri hakkında daha fazla bilgi için bkz: duyarlık, ölçek ve uzunluk.

  • scale
    Belirtilen veri türünün ölçeği ' dir.Geçerli ölçek değerleri hakkında daha fazla bilgi için bkz: Duyarlık, ölçek ve uzunluk (Transact-SQL).

  • En_Fazla
    Yalnızca için geçerlidir varchar, nvarchar, ve varbinary veri türü.Bunlar 2 depolamak için kullanılan ^ 31 bayt karakter ve ikili veri ve 2 ^ 30 bayt Unicode veri.

  • İÇERİK
    Belirtir her örnek , xml veri türü column_name oluşturan birden çok üst -düzey öğeleri.İÇERİĞİ yalnızca için geçerlidir xml verileri yazın ve yalnızca, belirtilen xml_schema_collection da belirtilir.Bu değil ise belirtildiğinde, içerik varsayılan davranıştır.

  • BELGE
    Belirtir her örnek , xml veri türü column_name oluşturan tek bir üst -düzey öğe.Belge yalnızca için geçerlidir xmlverileri yazın ve yalnızca, belirtilen xml_schema_collection da belirtilir.

  • xml_schema_collection
    Yalnızca için geçerlidir xml veri türü ilişkilendirme türü. bir xml şema koleksiyon içinYazmadan önce bir xmlsütun için bir şema, şema önce oluşturulmalıdır kullanarak veritabanındaki xml şema KOLEKSİYONU oluşturmak.

  • FILESTREAM
    FILESTREAM depolama öznitelik sahip bir sütun için isteğe bağlı olarak belirtir bir type_name , varbinary(max).

    FILESTREAM için bir sütunbelirtildiğinde, tablo sütun da olmalıdır uniqueidentifier ROWGUIDCOL öznitelikveri türü.Bu sütun null değerlere izin vermemeli ve benzersiz veya birincil anahtar teksütun kısıtlaması olmalıdır.Bir uygulama veri eklendiğinde veya NEWID () işlevkullanan varsayılan kısıtlama sütun GUID değeri sağlanmalıdır.

    ROWGUIDCOL sütun bırakılan ve FILESTREAM sütun ' % s'tablo tabloiçin tanımlanmış olmakla ilgili kısıtlamalar değiştirilemez.Yalnızca son FILESTREAM sütun bırakılan sonra ROWGUIDCOL sütun kesilmesini.

    FILESTREAM depolama öznitelik için bir sütunbelirtildiğinde, ilgili sütun için tüm değerleri FILESTREAM veri kapsayıcı dosya sisteminde depolanır.

    sütun tanımı nasıl gösteren bir örnek için bkz: FILESTREAM depolama ile Başlarken.

  • [ KISITLAMA constraint_name []
    Varsayılan tanım başlangıcını belirtir.Önceki sürümleri ile uyumluluk sağlamak için SQL Server, kısıtlama adı, varsayılan atanabilirconstraint_namekurallarýna uygun olmalýdýr tanımlayıcıları, adı bir sayı işareti (#) ile başlatılamıyor olmasıdır.constraint_name Belirtilmezse, sistem tarafından oluşturulan bir ad atanır varsayılan tanım.

  • VARSAYILAN
    sütuniçin varsayılan değeri belirten bir anahtar sözcüktür.Varsayılan tanımları, varolan veri satırlarını yeni bir sütun değerlerini sağlamak için kullanılabilir.Varsayılan tanımları için uygulanamaz timestamp sütun veya sütunları kimlik özellikile.kullanıcı tanımlı türsütuniçin varsayılan bir değer belirtilirse, türü bir örtük dönüştürme işlemi desteklemelidir constant_expression kullanıcı tanımlı tür.

  • constant_expression
    Hazır bilgi değeri, null veya sütun varsayılan değer olarak kullanılan bir sistem işlev olabilir.Olması için tanımlanmış bir sütun ile birlikte kullanılan bir .NET Framework kullanıcı tanımlı tür, tür uygulanması gerekir destekleyen bir örtük dönüştürme constant_expression kullanıcı tanımlı tür.

  • DEĞERLERİ İLE
    Verilen varsayılan değer belirtir constant_expression Yeni bir sütun ekleneceği depolanırvarolan satırları.Eklenen sütun null değerleri ve değerleri ile belirtilen izin veriyorsa, varsayılan değeri varolan satır eklenen yeni sütundepolanır.İLE değerleri için boş değerlere izin sütunları belirtilmezse, varolan satırları yeni sütun null değeri depolanır.Yeni bir sütun boş değerlere izin vermez, varsayılan değer olan değerleri belirtmiş olmasına bakılmaksızın yeni satırlar depolanır.

  • KİMLİK
    Yeni bir sütun kimlik sütunolup olmadığını belirtir.SQL Server Veritabanı Altyapısı ' % S'sütun sütuniçin bir benzersiz, artımlı değer sağlar.Varolan tablolara tanımlayıcı sütun eklediğinizde, kimlik numaralarının başlangıç ve artış değerleri ile tablo satırları eklenir. Satır güncelleştirildiği sırada garanti edilmez.Kimlik numarası de eklenen yeni satırlar için oluşturulur.

    Kimlik sütunları, tabloiçin benzersiz satır tanımlayıcısı olarak hizmet verecek genellikle birincil anahtar kısıtlamaları ile birlikte kullanılır.KİMLİK özellik atanmış bir tinyint, smallint, int, bigint, decimal(p,0), veya numeric(p,0) sütun.Her tabloyalnızca bir kimlik sütun oluşturulabilir.default anahtar ve ilişkili varsayılan kimlik sütunkullanılamaz.Ya da hem başlangıç ve artış belirtilmeli, veya hiçbiri.Hiçbiri belirtilmezse, varsayılan değer (1,1) ' dir.KİMLİK özellikeklemek için varolan bir tablosütun değiştiremezsiniz.

    Not

    sütun için abone çoğaltıldığında nonconvergence neden olabileceği için yayımlanmış tablo kimlik sütun ekleme desteklenmiyor.Yayımcı adresindeki kimlik sütun değerleri tablo etkilenen satırların fiziksel olarak saklanır siparişte bağlıdır.Satır Abone tarafında farklı depolanmış olabilir; Bu nedenle, kimlik sütun için bir değer aynı satırlar için farklı olabilir...

    Açıkça eklenecek değerler vererek bir sütun kimlik özellik devre dışı bırakmak için set identity_insert.

  • seed
    tabloilk satırı için kullanılan değer yüklenir.

  • increment
    Yüklenen önceki satır kimlik değerini eklenen artımlı değerdir.

  • ÇOĞALTMA İÇİN DEĞİL
    KİMLİK özellikiçin belirtilebilir.KİMLİK özellikbu yan tümce belirtilirse, çoğaltma aracıları ekleme işlemi gerçekleştirdiğinizde değerleri kimlik sütunlarının artırılır değil.Daha fazla bilgi için, bkz. Denetleme sınırlamaları, kimlikleri ve tetikleyiciler not ile çoğaltma.

  • ROWGUIDCOL
    ' % S'sütun sütun , satır genel benzersiz tanımlayıcı sütunolduğunu belirtir.ROWGUIDCOL yalnızca atanabilir için bir uniqueidentifiersütunve tek bir uniqueidentifier tablo hersütun belirlenmiş ROWGUIDCOL sütunolarak. Kullanıcı tanımlı veri türleri sütunları ROWGUIDCOL atanamaz.

    ROWGUIDCOL sütundepolanan değerleri benzersizliğini zorlamaz.Ayrıca, ROWGUIDCOL tabloeklenen yeni satırlar için değerleri otomatik olarak oluşturmaz.Her sütuniçin benzersiz değerler oluşturmak için NEWID işlev Insert deyimlerini kullanın ya da sütuniçin varsayılan olarak NEWID işlev belirtin.Daha fazla bilgi için, bkz. NEWID (Transact-SQL) ve INSERT (Transact-SQL).

  • HARMANLAMA< collation_name>
    sütun harmanlama belirtir.Belirtilmezse, sütun veritabanının varsayılan harmanlama atanır.Harmanlama adı, bir Windows harmanlama adı veya bir SQL harmanlama adı olabilir.Ve daha fazla bilgi için bkz: Windows harmanlaması adı (Transact-SQL) ve SQL Server harmanlama adı (Transact-SQL).

    collate yan tümce yalnızca sütunların harmanlamaları belirtmek için kullanılan char, varchar, nchar, ve nvarchar veri türü.

    collate yan tümcehakkında daha fazla bilgi için bkz: HARMANLAMA (Transact-SQL).

Açıklamalar

Sahip bir sütun eklenirse bir uniqueidentifier veri türü, bu tablovarolan her satır için yeni sütun benzersiz tanımlayıcısı değerlerini sağlamak için NEWID() işlev kullanan varsayılan değer tanımlanabilir.

Veritabanı Altyapısı Değil zorla sipariş belirtme varsayılan, kimlik, ROWGUIDCOL veya sütun kısıtlamaları sütun tanımı.

Örnekler

Örnekler için, bkz. ALTER TABLE (Transact-SQL).