DROP DEFAULT(Transact-SQL)

현재 데이터베이스에서 하나 이상의 사용자 정의 기본값을 제거합니다.

ms188747.note(ko-kr,SQL.90).gif중요:
Microsoft SQL Server 의 이후 버전에서는 DROP DEFAULT가 제거될 예정입니다. 새 개발 작업에서는 DROP DEFAULT를 사용하지 않도록 하고 현재 이를 사용하는 응용 프로그램에 대해서는 수정 계획을 세우십시오. ALTER TABLE 또는 CREATE TABLE의 DEFAULT 키워드를 사용하여 만들 수 있는 기본 정의를 대신 사용하십시오. 자세한 내용은 DEFAULT 정의 만들기 및 수정을 참조하십시오.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

DROP DEFAULT { [ schema_name . ] default_name } [ ,...n ] [ ; ]

인수

schema_name

기본값이 속한 스키마의 이름입니다.

default_name

기존 기본값의 이름입니다. 존재하는 기본값의 목록을 보려면 sp_help를 실행합니다. 기본값은 식별자에 대한 규칙을 따라야 합니다. 기본 스키마 이름을 지정하는 것은 선택 사항입니다.

주의

열 또는 별칭 데이터 형식에 기본값이 바인딩된 경우 기본값을 삭제하기 전에 sp_unbindefault를 실행하여 기본값의 바인딩을 해제합니다.

Null 값이 허용되는 열에서 기본값을 삭제한 후 행을 추가하고 값을 명시적으로 제공하지 않으면 해당 위치에 NULL이 삽입됩니다. NOT NULL 열에서 기본값을 삭제한 후 행을 추가하고 값을 명시적으로 제공하지 않으면 오류 메시지가 반환됩니다. 이러한 행은 나중에 일반적인 INSERT 문을 실행하여 추가할 수 있습니다.

사용 권한

DROP DEFAULT를 실행하려면 적어도 기본값이 속한 스키마에 대한 ALTER 권한을 가지고 있어야 합니다.

1. 기본값 삭제

기본값이 열 또는 별칭 데이터 형식에 바인딩되지 않은 경우 단순히 DROP DEFAULT를 사용하여 삭제할 수 있습니다. 다음은 사용자가 만든 datedflt라는 기본값을 제거하는 예입니다.

USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.objects
         WHERE name = 'datedflt' 
            AND type = 'D')
   DROP DEFAULT datedflt
GO

2. 열에 바인딩된 기본값 삭제

다음은 Employee 테이블의 EmergencyContactPhone 열과 연결된 기본값의 바인딩을 해제하고 phonedflt라는 기본값을 삭제하는 예입니다.

USE AdventureWorks;
GO
IF EXISTS (SELECT name FROM sys.objects
         WHERE name = 'phonedflt' 
            AND type = 'D')
   BEGIN 
      EXEC sp_unbindefault 'Person.Contact.Phone'
      DROP DEFAULT phonedflt
   END
GO

참고 항목

참조

CREATE DEFAULT(Transact-SQL)
sp_helptext(Transact-SQL)
sp_help(Transact-SQL)
sp_unbindefault(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기