sp_addtype(Transact-SQL)
별칭 데이터 형식을 만듭니다.
![]() |
---|
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. CREATE TYPE을 대신 사용합니다. |
구문
sp_addtype [ @typename = ] type,
[ @phystype = ] system_data_type
[ , [ @nulltype = ] 'null_type' ] ;
인수
[ @typename= ] type
별칭 데이터 형식의 이름입니다. 별칭 데이터 형식 이름은 식별자에 관한 규칙을 따라야 하며 각 데이터베이스에서 고유해야 합니다. type은 sysname이며 기본값은 없습니다.
[ @phystype=] system_data_type
별칭 데이터 형식의 기반이 되는 실제 데이터 형식 또는 SQL Server 에서 제공하는 데이터 형식입니다. system_data_type은 sysname이며 기본값은 없고 다음 값 중 하나일 수 있습니다.
bigint |
binary(n) |
bit |
char(n) |
datetime |
decimal |
float |
image |
int |
money |
nchar(n) |
ntext |
numeric |
nvarchar(n) |
real |
smalldatetime |
smallint |
smallmoney |
sql_variant |
text |
tinyint |
uniqueidentifier |
varbinary(n) |
varchar(n) |
중간 공백 또는 구두점이 있는 매개 변수는 모두 따옴표로 묶어야 합니다. 사용 가능한 데이터 형식에 대한 자세한 내용은 데이터 형식(Transact-SQL)을 참조하십시오.
n
선택된 데이터 형식의 길이를 표시하는 음이 아닌 정수입니다.
P
소수점 왼쪽과 오른쪽에 저장할 수 있는 최대 총 십진 자릿수를 표시하는 음이 아닌 정수입니다. 자세한 내용은 decimal 및 numeric(Transact-SQL)을 참조하십시오.
s
소수점 오른쪽에 저장할 수 있는 최대 십진 자릿수를 표시하는 음이 아닌 정수이며 전체 자릿수보다 작거나 같아야 합니다. 자세한 내용은 decimal 및 numeric(Transact-SQL)을 참조하십시오.
[ @nulltype = ] 'null_type'
별칭 데이터 형식이 NULL 값을 처리하는 방식을 표시합니다. null_type은 **varchar(8)**이며(기본값은 NULL) 작은따옴표로 묶여 있어야 합니다('NULL', 'NOT NULL' 또는 'NONULL'). null_type이 sp_addtype에 의해 명시적으로 정의되지 않은 경우에는 현재의 기본 NULL 허용 여부로 설정됩니다. GETANSINULL 시스템 함수를 사용하면 현재의 기본 NULL 허용 여부를 확인할 수 있습니다. 이것은 SET 문 또는 ALTER DATABASE를 사용하여 조정될 수 있습니다. NULL 허용 여부는 명시적으로 정의해야 합니다. @phystype이 bit인 경우 @nulltype을 지정하지 않으면 기본값은 NOT NULL입니다.
[!참고] null_type 매개 변수는 이 데이터 형식에 대한 기본 NULL 허용 여부만 정의합니다. 테이블을 만드는 동안 별칭 데이터 형식을 사용할 때 NULL 허용 여부를 명시적으로 정의하면 정의된 NULL 허용 여부보다 우선적으로 적용됩니다. 자세한 내용은 ALTER TABLE(Transact-SQL) 및 CREATE TABLE(Transact-SQL)을 참조하십시오.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
없음
주의
별칭 데이터 형식 이름은 데이터베이스 내에서 고유해야 하지만 이름이 서로 다른 별칭 데이터 형식은 같은 정의를 사용할 수 있습니다.
sp_addtype을 실행하면 특정 데이터베이스에 대한 sys.types 카탈로그 뷰에 나타나는 별칭 데이터 형식이 만들어집니다. 별칭 데이터 형식을 모든 새 사용자 정의 데이터베이스에서 사용할 수 있으려면 별칠 데이터 형식을 model에 추가합니다. 별칭 데이터 형식을 만든 다음 이 형식을 CREATE TABLE 또는 ALTER TABLE에서 사용할 수 있으며 별칭 데이터 형식에 기본값 및 규칙을 바인딩할 수 있습니다. sp_addtype을 사용하여 만드는 모든 스칼라 별칭 데이터 형식은 dbo 스키마에 포함됩니다.
별칭 데이터 형식은 데이터베이스의 기본 데이터 정렬을 상속합니다. 별칭 형식의 열과 변수의 데이터 정렬은 Transact-SQL CREATE TABLE, ALTER TABLE 및 DECLARE @local_variable 문에 정의됩니다. 데이터베이스의 기본 데이터 정렬을 변경하면 해당 형식의 새 열과 변수에만 적용되고 기존 열과 변수의 데이터 정렬은 변경되지 않습니다.
![]() |
---|
이전 버전과의 호환성을 위해 public 데이터베이스 역할에는 sp_addtype을 사용하여 만들어진 별칭 데이터 형식에 대해 REFERENCES 권한이 자동으로 부여됩니다. sp_addtype 대신 CREATE TYPE 문을 사용하여 별칭 데이터 형식을 만든 경우에는 이러한 권한이 자동으로 부여되지 않습니다. |
별칭 데이터 형식은 SQL Server timestamp, table, xml, varchar(max), nvarchar(max) 또는 varbinary(max) 데이터 형식을 사용하여 정의될 수 없습니다.
사용 권한
db_owner 또는 db_ddladmin 고정 데이터베이스 역할의 멤버여야 합니다.
예
1. NULL 값을 허용하지 않는 별칭 데이터 형식 만들기
다음 예에서는 SQL Server 가 제공하는 varchar 데이터 형식을 기반으로 ssn
(주민 등록 번호)이라는 별칭 데이터 형식을 만듭니다. ssn
데이터 형식은 11자리의 주민 등록 번호(999-99-9999)를 보유하는 열에 사용됩니다. 이 열은 NULL이 될 수 없습니다.
varchar(11)
는 문장 부호(괄호)를 포함하고 있으므로 작은따옴표로 묶어야 합니다.
USE master;
GO
EXEC sp_addtype ssn, 'varchar(11)', 'NOT NULL';
GO
2. NULL 값을 허용하는 별칭 데이터 형식 만들기
다음 예에서는 NULL 값을 허용하는 birthday
라는 별칭 데이터 형식(datetime
기반)을 만듭니다.
USE master;
GO
EXEC sp_addtype birthday, datetime, 'NULL';
3. 추가 별칭 데이터 형식 만들기
다음 예에서는 국내 및 국제 전화 및 팩스 번호 모두에 대해 두 개의 추가 별칭 데이터 형식인 telephone
및 fax
를 만듭니다.
USE master;
GO
EXEC sp_addtype telephone, 'varchar(24)', 'NOT NULL';
GO
EXEC sp_addtype fax, 'varchar(24)', 'NULL';
GO
참고 항목
참조
데이터베이스 엔진 저장 프로시저(Transact-SQL)
CREATE TYPE(Transact-SQL)
CREATE DEFAULT(Transact-SQL)
CREATE RULE(Transact-SQL)
sp_bindefault(Transact-SQL)
sp_bindrule(Transact-SQL)
sp_droptype(Transact-SQL)
sp_rename(Transact-SQL)
sp_unbindefault(Transact-SQL)
sp_unbindrule(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)