[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) )
[SQL Server] 문자열 합치기
USE tempdb GO -- 테스트 테이블 생성 CREATE TABLE dbo.HOBBY_TBL ( USERID VARCHAR(25) , HOBBY VARCHAR(30) ) GO -- 테스트 데이터 입력 INSERT INTO dbo.HOBBY_TBL (USERID, HOBBY) VALUES ('ABC', '축구') , ('ABC', '독서') , ('ABC', '게임') , ('APPLE', '등산') , ('APPLE', '농구') GO -- 테이블 조회 SELECT * FROM dbo.HOBBY_TBL GO -- 문자열 합치기 (DISTINCT 사용) SELECT DISTINCT USERID , STUFF (( SELECT ',' + HOBBY FROM dbo.HOBBY_TBL WHERE USERI..