sp_addtype(Transact-SQL)

적용 대상:SQL Server

별칭 데이터 형식을 만듭니다.

Important

이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 CREATE TYPE을 사용합니다.

Transact-SQL 구문 표기 규칙

구문

sp_addtype
    [ @typename = ] N'typename'
    , [ @phystype = ] N'phystype'
    [ , [ @nulltype = ] 'nulltype' ]
    [ , [ @owner = ] N'owner' ]
[ ; ]

인수

[ @typename = ] N'typename'

@typename sysname이며 기본값은 없습니다.

별칭 데이터 형식의 이름입니다. 별칭 데이터 형식 이름은 식별자에 대한 규칙을 따라야 하며 각 데이터베이스에서 고유해야 합니다. 형식은 sysname이며 기본값은 없습니다.

[ @phystype = ] N'phystype'

별칭 데이터 형식의 기반이 되는 물리적 또는 SQL Server 제공 데이터 형식입니다. @phystype 기본값이 없는 sysname이며 다음 값 중 하나일 수 있습니다.

  • bigint, int, smallinttinyint
  • binary, varbinary(n)image
  • bit
  • char(n), nchar(n), varchar(n), nvarchar(n), **text 및 ntext
  • datetimesmalldatetime
  • decimal( s, P)numeric(s, P)
  • floatreal
  • money and smallmoney
  • sql_variant
  • uniqueidentifier

공백이나 문장 부호가 포함된 모든 매개 변수에 따옴표가 필요합니다. 사용 가능한 데이터 형식에 대한 자세한 내용은 데이터 형식(Transact-SQL)을 참조하세요.

  • n

    선택한 데이터 형식의 길이를 나타내는 음수가 아닌 정수입니다.

  • P

    소수점 왼쪽과 오른쪽에 저장할 수 있는 최대 소수 자릿수를 나타내는 음수가 아닌 정수입니다. 자세한 내용은 decimal 및 numeric(Transact-SQL)을 참조하세요.

  • s

    소수점 오른쪽에 저장할 수 있는 최대 소수 자릿수를 나타내며 전체 자릿수보다 작거나 같아야 하는 음수가 아닌 정수입니다. 자세한 내용은 decimal 및 numeric(Transact-SQL)을 참조하세요.

[ @nulltype = ] 'nulltype'

별칭 데이터 형식이 null 값을 처리하는 방식을 나타냅니다. @nulltype 기본값NULL인 varchar(8)이며 작은따옴표('NULL''NOT NULL'또는 'NONULL')로 묶어야 합니다.

@nulltype 명시적으로 정의되지 않은 경우 현재 기본 null 허용 여부로 설정됩니다. 시스템 함수를 GETANSINULL 사용하여 현재 기본 null 허용 여부를 확인합니다. 문 또는 ALTER DATABASE.를 사용하여 SET 조정할 수 있습니다. Null 허용 성을 명시적으로 정의해야 합니다. @phystype 비트이고 @nulltype 지정되지 않은 경우 기본값은 .입니다NOT NULL.

참고 항목

@nulltype 매개 변수는 이 데이터 형식에 대한 기본 null 허용 여부만 정의합니다. 테이블을 만드는 동안 별칭 데이터 형식을 사용할 때 null 허용 여부가 명시적으로 정의된 경우 정의된 null 허용 여부보다 우선합니다. 자세한 내용은 ALTER TABLE(Transact-SQL)CREATE TABLE(Transact-SQL)을 참조하세요.

[ @owner = ] N'owner'

정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다.

반환 코드 값

0 (성공) 또는 1 (실패).

결과 집합

없음.

설명

별칭 데이터 형식 이름은 데이터베이스에서 고유해야 하지만 이름이 다른 별칭 데이터 형식은 동일한 정의를 가질 수 있습니다.

실행하면 sp_addtype 특정 데이터베이스의 카탈로그 뷰에 sys.types 표시되는 별칭 데이터 형식이 만들어집니다. 모든 새 사용자 정의 데이터베이스에서 별칭 데이터 형식을 사용할 수 있어야 하는 경우 에 추가 model합니다. 별칭 데이터 형식을 만든 후 별칭 데이터 형식에서 CREATE TABLE 사용하거나 ALTER TABLE별칭 데이터 형식에 기본값 및 규칙을 바인딩할 수도 있습니다. 사용하여 sp_addtype 만든 모든 스칼라 별칭 데이터 형식은 스키마에 dbo 포함됩니다.

별칭 데이터 형식은 데이터베이스의 기본 데이터 정렬을 상속합니다. 별칭 형식의 열 및 변수의 데이터 정렬은 Transact-SQL CREATE TABLEALTER TABLEDECLARE @<local_variable> 문에 정의됩니다. 데이터베이스의 기본 데이터 정렬 변경은 형식의 새 열 및 변수에만 적용됩니다. 기존 데이터 정렬은 변경되지 않습니다.

Important

이전 버전과의 호환성을 위해 공용 데이터베이스 역할에는 다음을 사용하여 sp_addtype만든 별칭 데이터 형식에 대한 권한이 자동으로 부여 REFERENCES 됩니다. 별칭 데이터 형식이 대신 sp_addtype문을 사용하여 CREATE TYPE 만들어지는 경우 이러한 자동 부여가 발생하지 않습니다.

별칭 데이터 형식은 SQL Server 타임스탬프, 테이블, xml, varchar(max), nvarchar(max) 또는 varbinary(max) 데이터 형식을 사용하여 정의할 수 없습니다.

사용 권한

db_owner 또는 db_ddladmin 고정 데이터베이스 역할의 멤버 자격이 필요합니다.

예제

A. 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

B. null 값을 허용하는 별칭 데이터 형식 만들기

다음 예제에서는 null 값을 허용하는 명명된 birthday 별칭 데이터 형식(기준datetime)을 만듭니다.

USE master;
GO
EXEC sp_addtype birthday, datetime, 'NULL';

C. 추가 별칭 데이터 형식 만들기

다음 예제에서는 국내 및 국제 전화 및 fax팩스 번호 모두에 대해 두 가지 별칭 데이터 형식 telephone 을 더 만듭니다.

USE master;
GO
EXEC sp_addtype telephone, 'varchar(24)', 'NOT NULL';
GO
EXEC sp_addtype fax, 'varchar(24)', 'NULL';
GO