Aracılığıyla paylaş


sp_addtype (Transact-SQL)

Bir 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.Use create type onun yerine.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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ı kurallarýna uygun olmalýdýr tanımlayıcıları ve her veritabanı içinde benzersiz olmalıdır.typeİş sysname, ile hiçbir varsayılan.

  • [ @phystype=] system_data_type
    Fiziksel olan veya SQL Server tarafından sağlanan, diğer ad veri türü temel veri türü.system_data_type olan sysname, hiçbir varsayılan ve can ile aşağıdaki değerlerden biri:

    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çtiğiniz veri türü için uzunluk belirten bir negatif olmayan tamsayıdır.

  • P
    En fazla toplam sayısını, hem sol hem de ondalık noktanın sağındaki depolanabilir ondalık basamak sayısını gösteren bir negatif olmayan tamsayıdır.Daha fazla bilgi için, bkz. ondalık ve sayısal (Transact-SQL).

  • s
    Maksimum ondalık noktanın sağında depolanan ondalık basamak sayısını gösterir negatif olmayan bir tamsayı ise ve duyarlılığa eşit veya bundan küçük 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 biçimini gösterir.null_typeİş varchar(8), null, varsayılan değer ve tek tırnak işaretleri ('null', 'not null' veya 'nonull') alınmalıdır.null_type Açıkça tarafından tanımlanan sp_addtype, küme geçerli varsayılan null atanabilirlikolur.GETANSINULL sistem işlev , geçerli varsayılan null atanabilirlikbelirlemek için kullanın.Bu set deyim veya alter database kullanarak ayarlanabilir.Verilebilirliğini açıkça tanımlanmalıdır.@ Phystype olan bit, ve @ nulltype belirtilmezse, varsayılan değer değil null.

    Not

    null_type Parametresi yalnızca tanımlar varsayılan null atanabilirlik için bu veri türü.diğer ad veri türü, tablo oluşturma sırasında kullanıldığında null atanabilirlik açıkça tanımlanmış, üzerinde tanımlı null atanabilirliköncelik kazanır.Daha fazla bilgi için, bkz. ALTER TABLE (Transact-SQL) ve CREATE TABLE (Transact-SQL).

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 ad veri türleri farklı adlarla aynı tanıma sahip olabilir.

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

Diğer veri türleri, veritabanının varsayılan harmanlama devralır.Sütun alfabe düzenlerini ve diğer ad türü değişkenleri tanımlanmış Transact-SQL create table, alter table ve declare @local_variable ifadeleri.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; var olan harmanlama değiştirmez.

Güvenlik notuGüvenlik Notu

Geriye dönük uyumluluk amacıyla, ortak veritabanı rolü kullanılarak oluşturulan diğer ad veri türlerine başvurular izni verilen otomatik olarak sp_addtype.Ne zaman diğer ad veri türleri yerine create type deyim ile oluşturulan Not sp_addtype, bu tür otomatik grant oluşur.

Diğer veri türleri kullanılarak tanımlanamaz SQL Server timestamp, table, xml, varchar(max), nvarchar(max) veya varbinary(max) veri türü.

İzinler

Üyelik gerektiren db_owner veya db_ddladmin veritabanı rolüsabit.

Örnekler

A.null değerler için izin vermeyen bir 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ı) bağlı SQL Server-sağlanan varchar veri türü.ssn 11 Basamaklı sosyal güvenlik numarası (999-99-9999) tutan sütunların veri türü kullanılır.sütun null olamaz.

Dikkat 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

B.null 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ı birthday sağlayan için null değerleri.

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

C.Veri türleri ek diğer ad oluşturma

Aşağıdaki örnek, iki ek diğer ad veri türü oluşturur telephone ve fax, yurtiçi ve uluslararası telefon ve faks numaraları.

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