5.1.3 NeedCollectUrl 저장 프로시저

이번에는 수집할 필요가 있는 페이지인지 확인하는 NeedCollectUrl 저장 프로시저를 만듭시다.

입력 인자로 페이지 주소와 OUTPUT 유형으로 수집할 필요가 있는지 여부를 결정하는 인자가 필요하겠죠.

ALTER PROCEDURE dbo.NeedCollectUrl
    (
    @Url varchar(200),
    @Need int OUTPUT
    )

저장 프로시저의 알고리즘은 이미 작성한 ExistedCandidate 저장 프로시저를 이용해 존재하는 페이지 주소인지 확인합니다. 존재 여부를 확인하기 위한 변수를 선언해야겠죠.

Declare @Existed int
Exec ExistedCandidate @Url, @Existed OUTPUT

만약 존재하지 않으면 ExistedPostedUrl 저장 프로시저를 이용해 존재하는 페이지 주소인지 확인합니다.

if @Existed = 0 begin
    Exec ExistedPostedUrl @Url, @Existed OUTPUT
    ...중략...
end

이미 수집한 페이지가 아니라면 수집이 필요하므로 Need 변수의 값을 1로 설정합니다.

if @Existed = 0 begin
    set @Need = 1
end

▷NeedCollectUrl 저장 프로시저

ALTER PROCEDURE dbo.NeedCollectUrl
    (
    @Url varchar(200),
    @Need int OUTPUT
    )
AS
    Declare @Existed int
 
    set @Need = 0
 
    Exec ExistedCandidate @Url, @Existed OUTPUT
 
    if @Existed = 0 begin
        Exec ExistedPostedUrl @Url, @Existed OUTPUT
 
        if @Existed = 0 begin
            set @Need = 1
        end
    end
RETURN