DROP DEFAULT(Transact-SQL)
현재 데이터베이스에서 하나 이상의 사용자 정의 기본값을 제거합니다.
중요: |
---|
Microsoft SQL Server 의 이후 버전에서는 DROP DEFAULT가 제거될 예정입니다. 새 개발 작업에서는 DROP DEFAULT를 사용하지 않도록 하고 현재 이를 사용하는 응용 프로그램에 대해서는 수정 계획을 세우십시오. ALTER TABLE 또는 CREATE TABLE의 DEFAULT 키워드를 사용하여 만들 수 있는 기본 정의를 대신 사용하십시오. 자세한 내용은 DEFAULT 정의 만들기 및 수정을 참조하십시오. |
구문
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)