sp_addtype(Transact-SQL)
적용 대상:SQL Server
별칭 데이터 형식을 만듭니다.
Important
이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 CREATE TYPE을 사용합니다.
구문
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, smallint 및 tinyint
- binary, varbinary(n) 및 image
- bit
- char(n), nchar(n), varchar(n), nvarchar(n), **text 및 ntext
- datetime 및 smalldatetime
- decimal( s, P) 및 numeric(s, P)
- float 및 real
- 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 TABLE
ALTER TABLE
및 DECLARE @<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
관련 콘텐츠
- 저장 프로시저 데이터베이스 엔진(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)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기