2017-05-24 2 views

답변

0

기본값이 create default X as Y과 같이 INFORMATION_SCHEMA.COLUMNS으로 표시되는 경우 더 이상 사용되지 않는 기본값 적용 방법 인 bound default의 일부로 존재합니다.

"현대"제약 시스템의 일부가 아니기 때문에 sys.default_constraints에 나타나지 않습니다.

0

기본 제한 조건 세부 사항은 sys.default_constraints에 표시됩니다. 그러나 그것은 그것이 속하는 컬럼을 포함하지 않습니다.

sys.columns, sys.objects, sys.schemas과 연결해야합니다. 실제 세부 정보를 얻을 수 있습니다. 나는 두 테이블에서 기본 제약 조건의 세부 사항을 얻기 위해 WHERE 절에 테이블 이름을 전달 해요 :이 post

에서 사용

SELECT c.[name], col.[name], c.[definition] 
FROM sys.default_constraints c 
INNER JOIN sys.columns col ON col.default_object_id = c.object_id 
INNER JOIN sys.objects o ON o.object_id = c.parent_object_id 
INNER JOIN sys.schemas s ON s.schema_id = o.schema_id 
WHERE o.[name] = 'TableName' 
GO 

SELECT column_name, column_default 
FROM information_schema.columns 
WHERE Table_name = 'TableName' 
    AND column_default IS NOT NULL 
GO 

sys.default_constraints 관련 코드를

관련 문제