column_definition (języka Transact-SQL)

Określa właściwości, które kolumna, która jest dodawana do tabela za pomocą ALTER tabela.

Topic link iconKonwencje składni języka Transact-SQL

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 ] ] 

Argumenty

  • column_name
    Is the name of the column to be altered, added, or dropped.column_name can consist of 1 through 128 characters.Dla nowej kolumny column_name można pominąć w przypadku kolumn utworzonych za pomocą timestamp Typ danych. Jeśli nie column_name jest określony dla timestamp kolumna o typie danych, nazwa Sygnatura czasowa jest używany.

  • [ type_schema_name**.** ] type_name
    Jest typem danych dodawanej kolumny i schematu, do którego ona należy.

    type_name może być:

    • A Microsoft SQL Server system data type.

    • Typ danych alias opiera się na systemowym typie danych programu SQL Server.Typy danych alias przed użyciem w definicji tabeli muszą być utworzone za pomocą polecenia CREATE TYPE.

    • A Microsoft .NET Framework user-defined type and the schema to which it belongs.Ten format, zgodnie z definicją ISO wskazuje .NET Framework fragment powinien być wyrażony w formacie uniwersalnego czas koordynowanego (UTC).

    If type_schema_name is not specified, the Microsoft Database Engine references type_name in the following order:

    • The SQL Server system data type.

    • Domyślny schemat bieżącego użytkownika w bieżącej bazie danych.

    • The dbo schema in the current database.

  • precision
    Jest dokładność określony typ danych.Aby uzyskać więcej informacji na temat wartości dokładności prawidłowy zobacz Precyzja, skala i długość.

  • scale
    Czy skala określony typ danych.Aby uzyskać więcej informacji na temat prawidłowych skali wartości zobacz Precyzja, skala i długość (języka Transact-SQL).

  • MAX
    Dotyczy to tylko typów danych varchar, nvarchar i varbinary.Są one używane do przechowywania 2^31 bajtów danych znakowych i binarnych oraz 2^30 bajtów danych Unicode.

  • ZAWARTOŚĆ
    Określa, że każde wystąpienie xml Typ danych column_name mogą zawierać wiele elementów najwyższego poziom. CONTENT dotyczy tylko xml dane wpisz i mogą być określone tylko wtedy, gdy xml_schema_collection podano także. Attachment_encoding

  • DOKUMENT
    Określa, że każde wystąpienie xml Typ danych column_name mogą zawierać tylko jeden element najwyższego poziom. DOKUMENT dotyczy tylko xmldane wpisz i mogą być określone tylko wtedy, gdy xml_schema_collection podano także.

  • xml_schema_collection
    Dotyczy tylko xml Typ danych do kojarzenia kolekcja schematu XML z typem. Przed wpisaniem xmlkolumna do schematu, schematu należy najpierw utworzyć w bazie danych przy użyciu TWORZENIE SCHEMATU XML kolekcja.

  • FILESTREAM
    Opcjonalnie określa atrybut magazynowania FILESTREAM dla kolumna zawierającej type_name z varbinary(max).

    Po określeniu FILESTREAM kolumna w tabela musi także mieć kolumna uniqueidentifier Typ danych, który ma atrybut ROWGUIDCOL. W tej kolumnie nie zezwolić na wartości null i musi mieć unikatowy albo klucz podstawowy ograniczenie jedną kolumną.query_result_header

    Kolumny ROWGUIDCOL nie zostanie usunięty, a nie można zmienić ograniczenia pokrewnych, gdy istnieje kolumna FILESTREAM zdefiniowane w tabela.query_result_width

    Gdy FILESTREAM magazynu jest określony dla kolumna, wszystkie wartości w tej kolumnie są przechowywane w kontenerze FILESTREAM danych w systemie plików.

    Aby zapoznać się z przykładem użycia definicji kolumny, zobacz Getting Started with FILESTREAM Storage.

  • query_result_separatorconstraint_name
    exclude_query_outputTo maintain compatibility with earlier versions of SQL Server, a constraint name can be assigned to a DEFAULT.constraint_name must follow the rules for identifiers, except that the name cannot start with a number sign (#).Jeśli constraint_name nie jest określony, wygenerowane przez system nazwę jest przypisany do DOMYŚLNEJ definicji.

  • WARTOŚĆ DOMYŚLNA
    Jest słowem kluczowym, określajacym domyślna wartość kolumny.Definicji DEAFAULT można używać do wprowadzania wartości w nowej kolumnie istniejących wierszydanych.Definicji DEFAULT nie można stosować dla kolumn timestamp oraz kolumn z właściwością IDENTITY.Jeśli wartość domyślna jest określona dla kolumny typu zdefiniowanego przez użytkownika, to typ ten musi obsługiwać niejawną konwersję z typu constant_expression na typ zdefiniowany przez użytkownika.

  • constant_expression
    sent_account_idJeśli używane w połączeniu z kolumna określone za .NET Framework typ zdefiniowany przez użytkownika, wykonanie tego typu musi obsługiwać niejawna konwersja z constant_expression Aby ten typ zdefiniowany przez użytkownika.

  • WITH VALUES
    Określa, że wartość podana dla parametru DEFAULT constant_expression jest zapisywana w nowej kolumnie dodawanej do istniejących wierszy.Jeśli dodawana kolumna może zawierać wartości null i użyty zostanie parametr WITH VALUES, to wartość domyślna jest zapisywana w nowej kolumnie dodawanej do istniejących wierszy.Jeśli parametr WITH VALUES zostanie użyty dla kolumn, które nie mogą zawierać wartości null, to wartość NULL jest zapisywana w nowej kolumnie dodanej do istniejących wierszy.Jeśli parametr WITH VALUES zostanie użyty dla kolumn, które nie mogą zawierać wartości null, to wartość NULL jest zapisywana w nowej kolumnie dodawanej do istniejących wierszy.

  • TOŻSAMOŚĆ
    Określa, że nowa kolumna jest kolumną tożsamości.SQL Server Database Engine jest niepowtarzalną, przyrostową wartością przypisaną do kolumny.W przypadku dodawania kolumn identyfikatorów do istniejących tabel, numery tożsamości są dodawane do istniejących wierszy tabeli z wartościami inicjatora i przyrostu.Porządek aktualizowania wierszy nie jest zapewniony.Numery tożsamości są także generowane dla wszystkich dodawanych nowych wierszy.

    For more information on OGC specifications, see the following resources:właściwość tożsamości Mogą być przypisane do tinyint, smallint, int, bigint, decimal(p,0), lub numeric(p,0) Kolumna. Tylko jeden kolumna tożsamości mogą być tworzone na tabela.STAsBinarySTAsTextSTBufferSTDifference

    Uwaga

    STDimensionWartości kolumna tożsamości w Wydawca zależy od kolejności, w jakiej fizycznie przechowywane są wiersze z tabela, których dotyczy problem.STDisjoint

    Aby wyłączyć właściwość IDENTITY kolumna, umożliwiając wartości ma zostać wstawiony jawnie, należy użyć ZESTAW IDENTITY_INSERT.

  • seed
    STEndpoint

  • increment
    STEquals

  • NIE DO replikacja
    STGeometryNSTGeometryTypeAby uzyskać więcej informacji zobaczKontrolowanie ograniczenia tożsamości i wyzwalaczy z nie dla replikacja.

  • ROWGUIDCOL
    STIntersectsROWGUIDCOL mogą być tylko przypisywane do uniqueidentifier kolumny i tylko jeden uniqueidentifier Kolumna tabela może być wyznaczony jako kolumna ROWGUIDCOL. STIsEmpty

    STLengthSTNumGeometriesSTNumPointsAby uzyskać więcej informacji zobacz NEWID (Transact-SQL) i INSERT (Transact-SQL).

  • COLLATE < collation_name>
    Określa sortowanie kolumny.Jeżeli nie określono, do kolumny jest przypisywane domyślne sortowanie bazy danych.Nazwa sortowania może być nazwą sortowania systemu Windows lub nazwą sortowania SQL.Aby uzyskać listę oraz więcej informacji, zobacz Windows Collation Name (Transact-SQL) i SQL Server Collation Name (Transact-SQL).

    Klauzula COLLATE może służyć do określania ustawień sortowania tylko z kolumn char, varchar, nchar, a nvarchar typy danych.

    Aby uzyskać więcej informacji na temat klauzula COLLATE zobacz COLLATE (Transact-SQL).

Remarks

Jeśli dodana kolumna o uniqueidentifier Typ danych, to można zdefiniować z domyślnego, który korzysta z funkcja NEWID() o podanie wartości identyfikator unikatowy w nowej kolumnie dla każdego istniejącego wiersza w tabela.

The Database Engine does not enforce an order for specifying DEFAULT, IDENTITY, ROWGUIDCOL, or kolumna constraints in a kolumna definition.

Przykłady

Aby zapoznać się z przykładami zobacz ALTER tabela (języka Transact-SQL).