본문 바로가기

DBMS/SQL Server

[SQL Server] 사용자 정의 데이터 형식 (User Defined data Type)

 

데이터 형식은 SQL Server에서 자체적으로 지원하는 데이터 형식을 사용하는 것과 사용자가 시스템에서

제공하는 데이터 형식을 이용하는 것 두가지로 나눌 수 있다.

시스템에서 제공되는 데이터 형식은 대부분이 스칼라 데이터 형식(Scalar types) 이다.

스칼라 값은 리터럴 값이라고도 불리며, 일반적으로 문자나 숫자와 같은 상수 값을 지칭한다.

이와는 반대로 사용자 정의 데이터 형식(UDT, User Defined data Type)은 논리적인 데이터 형식이다.

시스템 데이터 형식을 규정하여 이를 자신만의 특별한 데이터 형식으로 별명을 붙여 사용한다.

 

사용자 정의 데이터 형식은 'sp_addType' 이라는 저장 프로시저를 사용해서 등록할 수 있고,

'sp_dropType' 저장 프로시저를 이용해서 삭제할 수 있다.

사용자 정의 데이터 형식이라고 해서 특별한 데이터 형식은 이용할 수 없으며,

SQL Server가 지원하는 데이터 형식만을 이용한다.

 

사용자 정의 데이터 형식을 등록해서 사용하는 방법은 다음과 같다.

 

 /* 사용자 정의 데이터 형식 등록

    내부적으로 'VARCHAR(100) NULL'로 선언된 것과 동일 */

 sp_addType EMAIL, 'VARCHAR(100)', 'NULL'

 GO

 

 -- 사용자 정의 데이터 형식을 이용한 테이블 생성

 CREATE TABLE UDT_TEST (

    ID INT IDENTITY(1,1) NOT NULL

  , EMAIL EMAIL

 )

 GO

 

 -- 데이터 삽입

 INSERT INTO UDT_TEST(EMAIL) VALUES ('abcd@naver.com')

 GO

 

 

사용자 정의 데이터 형식을 삭제하기 위해서는 참조하고 있는 테이블을 삭제해야만 가능하다.

 

 -- 참조하고 있는 테이블 삭제

 DROP TABLE UDT_TEST

 GO

 

 -- 사용자 정의 데이터 형식 삭제

 sp_dropType EMAIL

 GO

 

 

개체 탐색기에서도 사용자 정의 데이터 형식을 확인 및 등록, 삭제 가능하다.