sp_addtype (Transact-sql)

Diğer ad veri türü oluşturur.

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.Kullanım create user onun yerine.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

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

Bağımsız değişkenler

  • @typename= type
    Diğer ad veri türü addır. Diğer ad veri türü adları için kuralları izlemeniz gerekir tanımlayıcıları ve her veritabanı içinde benzersiz olmalıdır. typeise sysname, hiçbir varsayılan ile.

  • **@phystype=**system_data_type
    Fiziksel, olur ya da SQL Serverbirlikte, diğer ad veri türü temel veri türü. system_data_type's sysname, hiçbir varsayılan ve can ile bu değerlerden biri olabilir:

    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)

    Boşluk veya noktalama işaretleri katıştırılmış tüm parametreleri tırnak işaretleri gereklidir. Kullanılabilir veri türleri hakkında daha fazla bilgi için bkz: Veri Türleri (Transact-SQL).

  • n
    Seçili veri tipinin uzunluğunu gösterir negatif olmayan bir tamsayıdır.

  • P
    Ondalık basamak hem sol, hem de ondalık noktanın sağında depolanabilen en yüksek toplam sayısını gösterir negatif olmayan bir tamsayıdır. Daha fazla bilgi için, bkz. ondalık ve sayısal (Transact-sql).

  • s
    Ondalık ayırıcının sağında depolanabilir ondalık basamak sayısını gösteren sıfırdan büyük bir tamsayıdır ve duyarlılık eşit veya daha az olmalıdır. Daha fazla bilgi için, bkz. ondalık ve sayısal (Transact-sql).

  • @nulltype = 'null_type'
    Diğer ad veri türü null değerleri işleme yöntemini belirtir. null_typeise varchar(8), null varsayılan ve tek tırnak işareti ('null', 'null' veya 'nonull') içine alınmalıdır. Eğer null_typeaçıkça tanımlanır sp_addtype, geçerli varsayılan nullability için ayarlanır. GETANSINULL sistem işlevi, geçerli varsayılan nullability belirlemek için kullanın. Bu set deyimi ya da alter database kullanarak ayarlanabilir. Nullability açıkça tanımlanmalıdır. Eğer @ phystype olduğunu bit, ve @ nulltype belirtilmemişse, varsayılan değer değil null.

    [!NOT]

    null_typeParametresi yalnızca bu veri türü için varsayılan nullability tanımlar. Diğer ad veri türü, tablo oluşturma sırasında kullanıldığında nullability açıkça tanımlanmış, tanımlanmış nullability üzerinde öncelik kazanır. Daha fazla bilgi için ALTER TABLE (Transact-SQL)ve Tablo (Transact-sql) oluştur.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Hiçbiri

Açıklamalar

Bir diğer ad veri türü adı veritabanı içinde benzersiz olmalıdır, ancak diğer veri türleri farklı adlarla aynı tanım olabilir.

Yürütme sp_addtype görünen ad veri türü oluşturur sys.types katalog görünümünde belirli bir veritabanı için. Diğer ad veri türü tüm yeni kullanıcı tanımlı veritabanlarında kullanılabilir olmalıdır, eklemek modeli. Diğer ad veri türü oluşturduktan sonra create table veya alter table kullanın ve ad veri türü için varsayılanları ve kuralları da bağlayabilirsiniz. Kullanılarak oluşturulan tüm skalar diğer veri türleri sp_addtype bulunan dbo şema.

Diğer veri türleri, veritabanının varsayılan harmanlama devralır. Alfabe sütunlar ve değişkenleri diğer türleri içinde tanımlanan Transact-SQLcreate table, alter table ve declare @ local_variable deyimleri. Veritabanının varsayılan harmanlama değiştirme yalnızca yeni sütunlar ve türündeki değişkenler için geçerlidir; varolanları harmanlama değiştirmez.

Güvenlik notuGüvenlik Notu

Geriye dönük uyumluluk amacıyla, Genel veritabanı rolü otomatik olarak oluşturulmuş diğer veri türleri başvurular izni verilir sp_addtype. Ne zaman diğer veri türleri yerine create type deyimi kullanılarak oluşturulan Not sp_addtype, hiç böyle otomatik hibe oluşur.

Diğer veri türleri kullanılarak tanımlanabilir olamaz SQL Server   timestamp, table, xml, varchar(max), nvarchar(max)ya varbinary(max)veri türlerini.

İzinler

Üyelik db_owner veya db_ddladmin veritabanı rolü.

Örnekler

A.Boş değerler için izin vermeyen diğer ad veri türü oluşturma

Aşağıdaki örnek, adlı bir diğer ad veri türü oluşturur ssn(sosyal güvenlik numarası) bu dayalı SQL Server-verilen varcharveri türü. ssn11 Basamaklı sosyal güvenlik numarası (999-99-9999) tutan sütunlar için veri türü kullanılır. Sütun null olamaz.

Fark varchar(11)noktalama (parantez içinde) içerdiğinden tek tırnak işareti içine alınmış.

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

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

B.Boş değerler için izin veren bir diğer ad veri türü oluşturma

Aşağıdaki örnek, diğer ad veri türü oluşturur (temel datetime) adlı birthdayiçin boş değerlere izin veren.

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

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

C.Ek diğer veri türleri oluşturma

İki ek diğer veri türleri, aşağıdaki örnek oluşturur telephoneve fax, ulusal ve uluslararası telefon ve faks numaraları için.

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

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

Ayrıca bkz.

Başvuru

Veritabanı Altyapısı depolanan yordamlar (Transact-sql)

CREATE TYPE (Transact-SQL)

Varsayılan (Transact-sql) oluştur

CREATE RULE (Transact-SQL)

sp_bindefault (Transact-sql)

sp_bindrule (Transact-sql)

sp_droptype (Transact-sql)

sp_rename (Transact-sql)

sp_unbindefault (Transact-sql)

sp_unbindrule (Transact-sql)

Sistem saklı yordamları (Transact-sql)