5.1.17 CreateInvertedFile 저장 프로시저

역 파일에 매핑하는 형태소 테이블을 동적으로 생성하는 저장 프로시저를 만듭시다. 저장 프로시저 이름은 CreateInvertedFile로 합시다.

입력 인자로 역 파일 테이블의 형태소 항목 번호를 받습니다.

ALTER PROCEDURE dbo.CreateInvertedFile
    (
    @MIndex int
    )

테이블을 동적으로 생성해야 하므로 쿼리문을 만들기 위한 변수와 테이블 이름을 동적으로 만들기 위한 변수를 선언합니다.

declare @query nvarchar(200)
declare @TName varchar(50)

테이블 이름은 MTB_를 prefix로 하고 뒤에 형태소 번호로 할 것입니다. 일단 형태소 항목 번호를 문자열로 변환하여 TName 변수에 설정합니다.

set @TName = CAST(@MIndex as varchar(50))

 테이블을 생성하는 쿼리문을 query 변수에 설정합니다.
set @query = 'Create Table MTB_'+ @TName +
                  ' (Url varchar(50) not null, Refcnt int) '

설정한 쿼리문을 실행합니다.

exec (@query)

이 책에서는 자세한 쿼리문에 관해서 소개하지 않습니다. 보다 깊은 학습을 원하시는 분은 관련 레퍼런스를 참고하세요.

▷ CreateInvertedFile 저장 프로시저

ALTER PROCEDURE dbo.CreateInvertedFile
    (
    @MIndex int
    )
AS
    declare @query nvarchar(200)
    declare @TName varchar(50)
 
    set @TName = CAST(@MIndex as varchar(50))

    set @query = 'Create Table MTB_'+ @TName +
                      ' (Url varchar(50) not null, Refcnt int) '

    exec (@query)
RETURN