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.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Varsayılan olarak adlandırılan bir nesne oluşturur. Bir sütuna veya diğer ad veri türüne bağlıyken, ekleme sırasında açıkça hiçbir değer sağlanmamışsa, varsayılan değer nesnenin bağlı olduğu sütuna (veya diğer ad veri türündeyse tüm sütunlara) eklenecek değeri belirtir.
Önemli
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, veya DEFAULTanahtar sözcüğü ALTER TABLE kullanılarak CREATE TABLE oluşturulan varsayılan tanımları kullanın.
Transact-SQL söz dizimi kuralları
Sözdizimi
CREATE DEFAULT [ schema_name . ] default_name
AS constant_expression [ ; ]
Arguments
schema_name
Varsayılanın ait olduğu şemanın adı.
default_name
Varsayılan adı. Varsayılan adlar, tanımlayıcıların kurallarına uymalıdır. Varsayılan sahip adını belirtmek isteğe bağlıdır.
constant_expression
Yalnızca sabit değerler içeren bir ifade (herhangi bir sütunun veya diğer veritabanı nesnelerinin adlarını içeremez). Diğer ad veri türleri içerenler dışında herhangi bir sabit, yerleşik işlev veya matematiksel ifade kullanabilirsiniz. Kullanıcı tanımlı işlevler kullanılamaz. Karakter ve tarih sabitlerini tek tırnak içine alın ('); parasal, tamsayı ve kayan nokta sabitleri tırnak işareti gerektirmez. İkili verilerin önünde 0xve parasal verilerin önünde dolar işareti ($ olmalıdır). Varsayılan değer sütun veri türüyle uyumlu olmalıdır.
Açıklamalar
Geçerli veritabanında yalnızca varsayılan bir ad oluşturabilirsiniz. Bir veritabanında varsayılan adların şemaya göre benzersiz olması gerekir. Varsayılan oluşturduğunuzda, bunu bir sütuna veya diğer ad veri türüne bağlamak için kullanın sp_bindefault .
Varsayılan değer bağlı olduğu sütunla uyumlu değilse, SQL Server varsayılan değeri eklemeye çalışırken bir hata iletisi oluşturur. Örneğin, yok sayısal sütun için varsayılan olarak kullanılamaz.
Varsayılan değer, bağlandığı sütun için çok uzunsa, değer kesilir.
CREATE DEFAULT deyimleri tek bir toplu işte diğer Transact-SQL deyimleriyle birleştirilemiyor.
Aynı adda yeni bir tane oluşturmadan önce varsayılan değer bırakılmalıdır. Ayrıca, bırakılmadan önce yürütülerek sp_unbindefault varsayılanın ilişkisiz olması gerekir.
Bir sütunda hem varsayılan hem de onunla ilişkilendirilmiş bir kural varsa, varsayılan değer kuralı ihlal etmemelidir. Bir kuralla çakışır bir varsayılan hiçbir zaman eklenmez ve SQL Server varsayılanı eklemeye her çalıştığında bir hata iletisi oluşturur.
Bir sütuna bağlıyken, aşağıdaki durumlarda varsayılan bir değer eklenir:
- Bir değer açıkça eklenmez.
-
DEFAULT VALUESVarsayılan değerleri eklemek için veyaDEFAULTanahtar sözcükleri ileINSERTbirlikte kullanılır.
Sütun oluştururken belirtirseniz NOT NULL ve bunun için varsayılan bir değer oluşturmazsanız, kullanıcı bu sütunda bir giriş yapamazsa hata iletisi oluşturulur. Aşağıdaki tabloda, varsayılan bir sütunun varlığı ile veya NULLolarak NOT NULL bir sütunun tanımı arasındaki ilişki gösterilmektedir. Tablodaki girdiler sonucu gösterir.
| Sütun tanımı | Girdi yok, varsayılan yok | Girdi yok, varsayılan | Girin NULL, varsayılan yok |
girin NULL, varsayılan |
|---|---|---|---|---|
NULL |
NULL |
Varsayılan | NULL |
NULL |
NOT NULL |
Hata | Varsayılan | Hata | Hata |
Varsayılanı yeniden adlandırmak için varsayılandaki sp_rename bir rapor için kullanın sp_help.
Permissions
kullanmak CREATE DEFAULTiçin, kullanıcının en azından geçerli veritabanında ve varsayılanın CREATE DEFAULT oluşturulduğu şema üzerinde izni olmalıdırALTER.
Örnekler
A. Temel karakter varsayılanı oluşturma
Aşağıdaki örnek, adlı unknownbir karakter varsayılanı oluşturur.
USE AdventureWorks2022;
GO
CREATE DEFAULT phonedflt
AS 'unknown';
B. Varsayılan bağlama
Aşağıdaki örnek, A örneğinde oluşturulan varsayılan değeri bağlar. Varsayılan, yalnızca tablonun sütunu Phone için Contact herhangi bir girdi belirtilmediğinde geçerli olur.
Uyarı
Herhangi bir girişin atlanması, bir NULL deyimde açıkça belirtilmesinden INSERT farklıdır.
Varsayılan adı phonedflt olmadığından aşağıdaki Transact-SQL deyimi başarısız olur. Bu örnek yalnızca çizim içindir.
USE AdventureWorks2022;
GO
EXECUTE sp_bindefault 'phonedflt', 'Person.PersonPhone.PhoneNumber';
İlgili içerik
- ALTER TABLE (Transact-SQL)
- KURAL YARAT (Transact-SQL)
- TABLO OLUŞTUR (Transact-SQL)
- DEFAULT DÜŞÜRME (Transact-SQL)
- DROP KURALI (Transact-SQL)
- İfadeler (Transact-SQL)
- INSERT (Transact-SQL)
- sp_bindefault (Transact-SQL)
- sp_help (Transact-SQL)
- sp_helptext (Transact-SQL)
- sp_rename (Transact-SQL)
- sp_unbindefault (Transact-SQL)