Udostępnij za pośrednictwem


sp_addtype (języka Transact-SQL)

Tworzy typem danych alias.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Użycie TWORZENIE TYPU zamiast niego.

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

sp_addtype [ @typename = ] type, 
    [ @phystype = ] system_data_type 
    [ , [ @nulltype = ] 'null_type' ] ;

Argumenty

  • [ @typename= ] type
    To nazwa typu danych alias.Alias data type names must follow the rules for identifiers and must be unique in each database.type is sysname, with no default.

  • [ @phystype=] system_data_type
    Czy fizycznych, lub SQL Server Podany typ danych, na której oparty jest typ danych alias. system_data_type jest sysname, z Brak domyślnej i może być jedną z następujących wartości:

    bigint

    binary(n)

    bit

    char(n)

    datetime

    decimal

    float

    image

    int

    money

    nchar(n)

    ntext

    numeric

    nvarchar(n)

    real

    smalldatetime

    smallint

    smallmoney

    sql_variant

    text

    tinyint

    uniqueidentifier

    varbinary(n)

    varchar(n)

    Cudzysłowy muszą być wszystkie parametry, które zostały osadzone spacje lub znaki interpunkcyjne.Aby uzyskać więcej informacji na temat dostępnych typów danych zobacz Data Types (Transact-SQL).

  • n
    Jest całkowitą liczbą nieujemną, który wskazuje długość dla typu danych wybranego.

  • P
    Jest nieujemną liczbą całkowitą, która wskazuje maksymalną całkowitą liczbę cyfr dziesiętnych, które mogą być przechowywane, po lewej i prawej stronie przecinka dziesiętnego.Aby uzyskać więcej informacji zobaczdecimal and numeric (Transact-SQL).

  • s
    Jest nieujemną liczbą całkowitą, która wskazuje maksymalną liczbę cyfr dziesiętnych, które mogą być przechowywane na prawo od przecinka dziesiętnego, a musi być większa od precyzji.Aby uzyskać więcej informacji zobaczdecimal and numeric (Transact-SQL).

  • [ @nulltype = ] 'null_type'
    Indicates the way the alias data type handles null values.null_type is varchar(8), with a default of NULL, and must be enclosed in single quotation marks ('NULL', 'NOT NULL', or 'NONULL').Jeśli null_type nie jest jawnie zdefiniowane przez sp_addtype, ustawiana jest na bieżących opcje dopuszczania wartości null domyślne.Aby określić bieżącą opcje dopuszczania wartości null domyślne, należy użyć funkcja systemu GETANSINULL.Można to skorygować za pomocą instrukcja zestaw lub ALTER DATABASE.Należy jawnie określić opcje dopuszczania wartości null.Jeśli @ phystype is bit, and @ nulltype nie jest określony, domyślnie nie jest NULL.

    Uwaga

    The null_type parameter only defines the default opcje dopuszczania wartości null for this data type. Jeśli typ danych alias jest używany podczas tworzenia tabela jawnie definiuje się opcje dopuszczania wartości null, ma pierwszeństwo opcje dopuszczania wartości null zdefiniowane.Aby uzyskać więcej informacji zobacz ALTER tabela (języka Transact-SQL) i CREATE TABLE (Transact-SQL).

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Zestawy wyników

None

Remarks

Nazwy typów danych alias musi być unikatowa w bazie danych, ale typy danych alias pod różnymi nazwami może mieć tę samą definicję.

Wykonywanie sp_addtype tworzy typ danych alias, który pojawia sięsys.types widok wykazu dla konkretnej bazy danych.Jeśli typem danych alias musi być dostępny w wszystkie nowe bazy zdefiniowanej przez użytkownika danych, należy dodać go do Model.Po utworzeniu typem danych alias można używać go w instrukcji ALTER tabela lub CREATE tabela w, a także powiązać wartości domyślnych i reguł typu danych alias.Wszystkie typy danych wartość skalarna alias są tworzone za pomocą sp_addtype zawarte w dbo schematu.

Typy danych alias dziedziczą domyślnym sortowaniem w bazie danych.Sortowanie kolumn i typów alias zmiennych są zdefiniowane w Transact-SQL CREATE tabela, ALTER tabela i DECLARE @local\_variable instrukcje. Zmiana domyślnym sortowaniem bazy danych ma zastosowanie tylko do zmiennych tego typu i nowe kolumny; nie powoduje zmiany sortowanie z istniejących.

Security noteSecurity Note:

Dla celów zachowania zgodności z poprzednimi wersjami publiczne rola bazy danych automatycznie jest udzielane uprawnienie materiały referencyjne na typy danych alias, które zostały utworzone przy użyciu sp_addtype.Uwaga Jeśli typy danych alias, które zostały utworzone za pomocą instrukcja CREATE TYPE zamiast sp_addtype, nie automatycznego przyznania występuje.

Alias data types cannot be defined by using the SQL Servertimestamp, table, xml, varchar(max), nvarchar(max) or varbinary(max) data types.

Uprawnienia

Członkostwo w grupie wymaga db_owner or db_ddladmin stała rola bazy danych.

Przykłady

A.Tworzenie typu danych alias, które nie zezwala na wartości null

Poniższy przykład tworzy typem danych alias o nazwie ssn (numer ubezpieczenia społecznego) jest oparty na SQL Server-dostarczane varchar Typ danych. The ssn data type is used for columns holding 11-digit social security numbers (999-99-9999).Kolumna nie może mieć wartości NULL.

Zwróć uwagę, że varchar(11) jest ujęty w pojedynczy cudzysłów, ponieważ zawiera znaki interpunkcyjne (nawiasów).

USE master;
GO
EXEC sp_addtype ssn, 'varchar(11)', 'NOT NULL';
GO

B.Tworzenie typu danych alias, który zezwala na wartości null

Poniższy przykład tworzy (na podstawie typu danych alias datetime) o nazwie birthday które zezwala na wartości null.

USE master;
GO
EXEC sp_addtype birthday, datetime, 'NULL';

C.Tworzenie alias dodatkowe typy danych

Poniższy przykład tworzy dwa typy danych dodatkowych alias telephone i fax, zarówno krajowych i międzynarodowych numerów telefonów i faksów.

USE master;
GO
EXEC sp_addtype telephone, 'varchar(24)', 'NOT NULL';
GO
EXEC sp_addtype fax, 'varchar(24)', 'NULL';
GO