본문 바로가기

DBMS/SQL Server

[SQL Server] 테이블 변수에 PK를 복합인덱스로 생성시 문법 주의사항

 

테이블 변수는 PK, UNIQUE, CHECK 제약조건을 사용할 수 있는 장점이 있다.

 

PK를 복합인덱스로 생성시 문법상 주의사항이 있다.

일반 테이블을 생성할 때 처럼 PK를 지정하면 오류가 발생한다.

 

 DECLARE @T TABLE (

    ID                  INT

  , NAME                CHAR(10)

  , AGE                 CHAR(3)

  , PHONE               VARCHAR(14)

  , CONSTRAINT PK_T PRIMARY KEY (ID, NAME)

 )

 

 

 

 

아래와 같이 CONSTRANT PK명을 지정하지 않아야 정상적으로 테이블 변수가 생성된다.

 

 DECLARE @T TABLE (

    ID                  INT

  , NAME                CHAR(10)

  , AGE                 CHAR(3)

  , PHONE               VARCHAR(14)

  , PRIMARY KEY (ID, NAME)

 )