Udostępnij za pośrednictwem


sp_addtype (języka Transact-SQL)

Tworzy typ danych alias .

Ważna informacjaWażne:

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Użycie Utworzyć typ zamiast.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • [ @typename= ] type
    Jest to nazwa alias typu danych.Alias nazwy typów danych muszą spełniać zasady dla identyfikatorów i muszą być unikatowe w każdej bazie danych.typejest sysname, z braku domyślne.

  • [ @phystype=] system_data_type
    Jest fizycznych, lub SQL Server podany typ danych opiera alias typu danych.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)

    Wymagane są znaki cudzysłowu wokół wszystkich parametrów, które mają być osadzone spacje lub znaki interpunkcyjne.Aby uzyskać więcej informacji na temat dostępnych typów danych, zobacz Typy danych (Transact-SQL).

  • n
    To nieujemna liczba całkowita, która wskazuje długość wybranym typem danych.

  • P
    To nieujemna liczba całkowita, 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, zobacz decimal i numeric (Transact-SQL).

  • s
    Jest całkowitą liczbą dodatnią, która wskazuje maksymalną liczbę cyfr dziesiętnych, które mogą być przechowywane po prawej stronie przecinka dziesiętnego, a musi być mniejsza lub równa z dokładnością.Aby uzyskać więcej informacji, zobacz decimal i numeric (Transact-SQL).

  • [ @ nulltype = ] 'null_type"
    Wskazuje sposób, typ danych alias obsługuje wartości null .null_typejest varchar(8), domyślna wartość NULL i musi być ujęty w znaki pojedynczego cudzysłowu ("NULL", "NOT NULL" lub "nonull").Jeśli null_type nie są wyraźnie zdefiniowanego przez sp_addtype, jest zestaw na bieżące domyślne opcje dopuszczania wartości null.Umożliwia określenie bieżącego domyślnego opcje dopuszczania wartości nullsystem GETANSINULL funkcja .Można dostosować je przy użyciu zestawu instrukcja lub ZMIEŃ bazę danych.Nullability powinny być wyraźnie zdefiniowane.Jeśli @ phystype jest bit, i @ nulltype nie jest określony, domyślnie nie jest NULL.

    Ostrzeżenie

    null_type Parametr tylko definiuje domyślny opcje dopuszczania wartości null tego typu danych.Jeśli opcje dopuszczania wartości null jest jawnie zdefiniowane alias typ danych jest używany podczas tworzenia tabela , ma ona pierwszeństwo zdefiniowane opcje dopuszczania wartości null.Aby uzyskać więcej informacji, zobacz ALTER TABLE (Transact-SQL) i CREATE TABLE (Transact-SQL).

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Zestawy wyników

Brak

Uwagi

Nazwa typu danych alias musi być unikatowa w bazie danych, ale alias typów danych przy użyciu różnych nazw może mieć tę samą definicję.

Wykonywanie sp_addtype tworzy typ danych alias , który pojawia się w sys.types widok dla określonej bazy danych katalogu.Jeśli typem danych alias musi być dostępne dla wszystkich nowych baz zdefiniowane przez użytkownika danych, należy dodać go do model.Po utworzeniu alias typ danych można użyć instrukcji ALTER TABLE lub CREATE TABLE i również powiązać wartości domyślnych i reguł typu danych alias .Wszystkie wartość skalarna alias typów danych, które są tworzone za pomocą sp_addtype zawartych w dbo schematu.

Typy danych alias dziedziczą domyślne sortowanie bazy danych.Sortowanie kolumn i alias typów zmiennych są określone w Transact-SQL CREATE TABLE, ALTER TABLE i DECLARE @local_variable instrukcji.Zmiana domyślnego sortowanie bazy danych dotyczy tylko nowych kolumn oraz zmienne typu; nie zmienia istniejących sortowanie .

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Do celów zgodności z poprzednimi wersjami public rola bazy danych automatycznie jest udzielane uprawnienie odwołania do alias typy danych, które zostały utworzone przy użyciu sp_addtype.Należy pamiętać podczas tworzenia alias typów danych przy użyciu typu tworzenie instrukcja zamiast sp_addtype, występuje takie automatyczne dotacji.

Alias typów danych nie mogą być definiowane za pomocą SQL Server timestamp, table, xml, varchar(max), nvarchar(max) lub varbinary(max) typów danych.

Uprawnienia

Wymaga członkostwa w db_owner lub db_ddladmin rola bazy danychstałej.

Przykłady

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

Poniższy przykład tworzy typem danych alias o nazwie ssn (numer PESEL) jest oparty na SQL Server-dostarczonych varchar typu danych.ssn Używany typ danych dla kolumny gospodarstwa numery ubezpieczenia społecznego 11-cyfrowy (999-99-9999).kolumna nie może być zerowa.

Należy zauważyć, że varchar(11) jest ujęty w znaki pojedynczego cudzysłowu, ponieważ zawiera znaki interpunkcyjne (nawiasy).

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 typ danych alias (na podstawie datetime) o nazwie birthday , która umożliwia dla 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, krajowych i międzynarodowych telefonów oraz numery faksów.

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