2013-09-08 28 views
27

WITH VALUES ifadesinin ne yaptığını anlamaya çalışıyordum?İÇİNDEKİLER TSQL

Düzgün açıklayan herhangi bir belge bulamıyorum.

ALTER TABLE Table1 
ADD newGuidId UniqueIdentifier NULL CONSTRAINT DF_Guid Default newid() 
with values 

cevap

31

bir tablo için varsayılan bir kısıtlama ile null sütunu eklediğinizde, o zaman var olan tüm satırları değeri olarak bir NULL ile yeni bir sütun alacak. Tanımlı varsayılan değerler, yalnızca eklendikleri yeni satırlarına uygulanır (INSERT deyiminde bu sütun için bir değere sahip değilse). Eğer WITH VALUES belirttiğinizde size yeni tabloya ekliyoruz kolon olmayan null ve varsayılan kısıtlama varsa

ardından mevcut tüm satırları o varsayılan değeri yerine NULL

tanımlanmış alacak daha sonra bu varsayılan değer, tablodaki tüm mevcut satırlara otomatik olarak uygulanır (sütun NULL'dan başka bir değere sahip olması gerektiğinden WITH VALUES'a gerek yoktur)

0

VALUES - DEFAULT sabit değerde verilen değerin belirtilmesi İyon, mevcut satırlara eklenen yeni bir sütunda depolanır. Eklenen sütun boş değerlere izin veriyorsa ve DEĞERLERLE belirtilmişse, varsayılan değer yeni satırda saklanır, varolan satırlara eklenir. Boş değerlere izin veren sütunlar için VALUES ile belirtilmemişse, NULL değeri varolan satırlardaki yeni sütunda saklanır. Yeni sütun null değerlere izin vermiyorsa, VALUE değeri belirtilip belirtilmediğine bakılmaksızın, varsayılan değer yeni satırlarda depolanır.