2013-09-08 1 views
27

WITH VALUES 성명을 이해하려고 노력하고 있습니까?WITH VALUES TSQL

제대로 설명하는 설명서가없는 것 같습니다.

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

답변

31

당신이 테이블에 기본 제약 조건으로 널 (NULL) 열을 추가 할 때, 기존의 모든 행의 값으로 NULL와 함께 새 열을 얻을 것이다. 정의 된 기본값은 새 행에만 적용됩니다 (해당 열의 값이 INSERT 문에없는 경우). 당신이 WITH VALUES를 지정하면 새 테이블에 추가하는 열이 nullable이 아닌이며, 기본 제약 조건이있는 경우

, 모든 기존 행은 그 기본값 대신 NULL

을 정의 얻을 것이다 그 기본값은 테이블의 모든 기존 행에 자동으로 적용됩니다 (열의 값이 NULL이 아니기 때문에 WITH VALUES은 필요 없습니다)

0

WITH VALUES - DEFAULT constant_express에 지정된 값을 지정합니다 이온은 기존 행에 추가 된 새 열에 저장됩니다. 추가 된 열이 널 값을 허용하고 WITH VALUES가 지정된 경우, 기본값은 새 열에 저장되고 기존 행에 추가됩니다. 널 (NULL)을 허용하는 열에 WITH VALUES가 지정되지 않은 경우, NULL 값은 기존 행의 새 열에 저장됩니다. 새 열에서 null을 허용하지 않으면 WITH VALUES가 지정되었는지 여부에 관계없이 기본값이 새 행에 저장됩니다.