이번 강좌에서는 사용자 정의 테이블 데이터 형식(User Defined Table Data Type)에 대한 내용을 살펴보겠습니다. 이론적인 설명보다 다음의 예를 보시면 사용자 정의 테이블 데이터 형식이 어떤 용도로 사용될 수 있는지 알 수 있을것입니다. 1) 데이터베이스와 테이블 만들기 우선 다음과 같이 Sample 이라는 이름의 연습용 데이터베이스와 Member 테이블을 만들겠습니다.
2) 회원 정보 입력하기 이러한 상황에서 우리는 일반적으로 다음과 같이 Member 테이블에 회원 정보를 기록하는 저장 프로시저를 만들어 사용을 합니다.
위와 같이 저장 프로시저를 만들고 다음과 같이 호출해서 회원 정보를 입력합니다.
자, 이제 사용자 정의 테이블 데이터 형식을 사용하는 예를 보도록 하겠습니다. 3) 새로운 테이블 만들기
4) 사용자 정의 테이블 데이터 형식 만들기 사용자 정의 테이블 데이터 형식은 다음과 같이 CREATE TYPE 문을 사용해 만듭니다. 일반적인 테이블을 만드는 방법과 거의 유사하게 만드는 것을 알 수 있습니다.
5) 저장 프로시저 만들기 앞의 단계에서 만든 사용자 정의 테이블 데이터 형식을 사용하는 저장 프로시저를 만듭니다. 매개변수에 @MemList MemberTableType 처럼 앞의 단계에서 만든 사용자 정의 테이블 데이터 형식을 갖는 매개 변수를 선언합니다.
6) 회원 정보 입력하기 앞의 단계에서 만든 저장 프로시저를 사용해 Member2 테이블에 회원 정보를 입력할 때 이제 다음과 같이 하면 됩니다. 앞에서 만든 MemberTableType 사용자 정의 테이블 데이터 형식을 갖는 변수 @MemberTVP를 선언하고 이 변수에 입력하고자 하는 회원 정보를 입력합니다. 그리고 @MemberTVP 변수를 저장 프로시저의 매개변수로 전달합니다.
다음과 같은 수행도 가능합니다. 맨 앞에서 살펴본 일반적인 예에서 Member 테이블에 입력된 3명의 회원 정보를 Member2 테이블에 입력하고 싶으면 다음과 같이 수행하면 됩니다.
이처럼 SQL Server 2008에 추가된 사용자 정의 테이블 데이터 형식은 행 집합을 저장 프로시저에 전달할 수 있어 매우 유용하게 사용될 수 있습니다. 단, 한번 만들어져서 사용 중인 사용자 정의 테이블 데이터 형식를 바꾸기 힘들고 제거하기도 힘듭니다. 물론 방법이 있지만 번거로운 작업이 됩니다. 그러므로 명확한 분석을 기반으로 디자인 되어야 합니다.
|
|
'연구개발 > SQL2008' 카테고리의 다른 글
문자열 검사 / 문자겸사 / 필드검사 (0) | 2010.04.13 |
---|---|
Database 수정 (0) | 2010.04.11 |
제 7 장: 리소스 관리자 (0) | 2009.06.21 |
제 6 장: SSMS의 디버깅 기능 (0) | 2009.06.21 |
제 5 장: SSMS의 IntelliSense 기능 (0) | 2009.06.21 |