Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir takma ad veri tipi oluşturur.
Important
Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine CREATE TYPE kullanın.
Transact-SQL söz dizimi kuralları
Syntax
sys.sp_addtype
[ @typename = ] N'typename'
, [ @phystype = ] N'phystype'
[ , [ @nulltype = ] 'nulltype' ]
[ , [ @owner = ] N'owner' ]
[ ; ]
Arguments
[ @typename = ] N'typename'
@typenamesysname'dir, varsayılan yoktur.
Takma adın veri türünün adı. Alias veri tipi adları, tanımlayıcı kurallarına uymalı ve her veritabanında benzersiz olmalıdır. Tipsysname'dir, varsayılan yoktur.
[ @phystype = ] N'phystype'
Alias veri tipinin dayandığı fiziksel veya SQL Server tarafından sağlanan veri tipi. @phystype , varsayılan olmayan sysname'dir ve şu değerlerden biri olabilir:
- bigint, int, smallint ve tinyint
- ikili, varbinary(n) ve görüntü
- bit
- char(n), nchar(n), varchar(n), nvarchar(n), **text ve ntext
- datetime ve smalldatetime
- ondalık (s, P) ve sayısal(lar, P)
- float ve gerçek
- para ve küçük para
- sql_variant
- uniqueidentifier
Gömülü boşluklar veya noktalama işaretleri içeren tüm parametrelerin etrafında tırnak işareti gereklidir. Mevcut veri türleri hakkında daha fazla bilgi için bkz. Veri türleri.
n
Seçilen veri türünün uzunluğunu gösteren negatif olmayan bir tam sayı.
P
Ondalık noktanın hem solunda hem sağında saklanabilecek maksimum toplam ondalık rakamı gösteren negatif olmayan tam sayı olan negatif olmayan tam sayı. Daha fazla bilgi için bkz. ondalık ve sayısal.
s
Ondalık noktanın sağında saklanabilecek maksimum ondalık rakamlı sayısını gösteren negatif olmayan bir tam sayı ve hassasiyetin daha az veya eşit olması gerekir. Daha fazla bilgi için bkz. ondalık ve sayısal.
[ @nulltype = ] 'nulltype'
Alias veri tipinin null değerleri nasıl işlediğini gösterir.
@nulltypevarchar(8)'dir, varsayılan olarak , NULLve tek tırnak işaretleriyle ('NULL', 'NOT NULL', veya 'NONULL').
Eğer @nulltype açıkça tanımlanmadıysa, mevcut varsayılan nullability'ye ayarlanmıştır. Mevcut varsayılan nullability'yi belirlemek için GETANSINULL sistem fonksiyonunu kullanın. Bu, ifadeyi SET veya ALTER DATABASEkullanılarak ayarlanabilir. Nullability açıkça tanımlanmalıdır.
Eğer @phystypebitse ve @nulltype belirtilmemişse, varsayılan olarak NOT NULL.
Note
@nulltype parametresi yalnızca bu veri tipi için varsayılan nullability'yi tanımlar. Eğer tablo oluşturulurken alias veri tipi kullanıldığında nullability, tanımlanmış nullability'den öncelikli olur. Daha fazla bilgi için bkz. ALTER TABLE ve CREATE TABLE.
[ @owner = ] N'owner'
Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
Dönüş kodu değerleri
0 (başarı) veya 1 (başarısızlık).
Sonuç kümesi
Yok.
Remarks
Bir takma ad veri tipi adı veritabanında benzersiz olmalıdır, ancak farklı isimlere sahip alias veri tipleri aynı tanıma sahip olabilir.
Çalıştırma sp_addtype , belirli bir veritabanı için katalog görünümünde sys.types görünen bir takma ad veri türü oluşturur. Eğer takma ad veri tipi tüm yeni kullanıcı tanımlı veritabanlarında mevcut olmak zorunda, onu 'ye modelekleyin. Bir alias veri tipi oluşturulduktan sonra, onu veya ALTER TABLEiçinde CREATE TABLE kullanabilir ve ayrıca varsayılan ve kuralları alias veri tipine bağlayabilirsiniz. Kullanılarak sp_addtype oluşturulan tüm skaler alias veri tipleri şema dbo içinde yer alır.
Alias veri tipleri, veritabanının varsayılan derlemesini devralır. Alias tipli sütunların ve değişkenlerin bileşimleri, Transact-SQL CREATE TABLE, ALTER TABLEve DECLARE @<local_variable> ifadelerinde tanımlanır. Veritabanının varsayılan derlemesinin değiştirilmesi yalnızca bu tipteki yeni sütunlar ve değişkenler için geçerlidir; Mevcut olanların karşılaştırmasını değiştirmez.
Important
Geriye doğru uyumluluk amaçları için, kamu veritabanı rolü, kullanılarak oluşturulan sp_addtypetakma at veri tiplerine otomatik REFERENCES olarak izin verilir. Dikkat edin, alias veri tipleri ifadesi CREATE TYPE yerine sp_addtypekullanılarak oluşturulduğunda, böyle bir otomatik veriliş gerçekleşmez.
Alias veri tipleri, SQL Server zaman damgası, tablo, xml, varchar(max), nvarchar(max) veya varbinary(max) veri tipleri kullanılarak tanımlanamaz.
Permissions
db_owner veya sabit db_ddladmin veritabanı rolünde üyelik gerektirir.
Examples
A. Null değerlere izin vermeyen bir alias veri tipi oluşturun
Aşağıdaki örnek, SQL Server tarafından sağlanan varchar veri tipine dayanan (sosyal güvenlik numarası) adlı bir takma ad veri tipi ssn oluşturur. Veri türü, ssn 11 haneli sosyal güvenlik numaralarını (999-99-9999). içeren sütunlar için kullanılır. Sütun NULLolamaz.
varchar(11) noktalama işaretleri (parantezler) içerdiği için tek tırnak içinde yer alır.
USE master;
GO
EXECUTE sp_addtype ssn, 'varchar(11)', 'NOT NULL';
GO
B. Null değerlere izin veren bir alias veri tipi oluşturun
Aşağıdaki örnek, null değerlere izin veren bir takma ad veri tipi ()'ye datetimedayalı birthday olarak oluşturulur.
USE master;
GO
EXECUTE sp_addtype birthday, datetime, 'NULL';
C. Ek alias veri türleri oluştur
Aşağıdaki örnek, hem yurt içi hem de uluslararası telefon ve faks numaraları için iki farklı takma ad veri telephone türü ve fax, oluşturur.
USE master;
GO
EXECUTE sp_addtype telephone, 'varchar(24)', 'NOT NULL';
GO
EXECUTE sp_addtype fax, 'varchar(24)', 'NULL';
GO
İlgili içerik
- Veritabanı Altyapısı saklı yordamları (Transact-SQL)
- CREATE TYPE (Transact-SQL)
- CREATE DEFAULT (Transact-SQL)
- 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)