프로시져 그룹화
페이지 정보
작성자 서방님 댓글 0건 조회 180회 작성일 07-10-16 15:58본문
많은 분들이 아시고 계시겠지만, 혹시 모르시는 분을 위해서
이렇게 사용되는 가 그렇게 빈번하게 발생하지는 않지만 (저만그런가..?^^;;)
간혹 유용하게 사용될 경우가 있습니다.
예를 들어 pubs에 jobs라는 table이 있습니다.
이 table에 조회를 다양하게 하기 위해서 여러 개의 sp를 작성합니다.
(물론 한 SP에서 다 처리 가능 하지만 예들 든 것이니 만큼 이해를..)
job_id에 하나에 대해서만 조회를 해오는 sp를 작성합니다.
Create proc pu_job
@job_id int
AS
SELECT * FROM dbo.jobs WHERE job_id=@job_id
그리고 min_lvl에 대해서 범위로 조회를 하는 SP를 작성합니다.
Create proc pu_job;1
@min_max int,
@min_min int
AS
SELECT * FROM dbo.jobs
WHERE min_lvl <= @min_max and min_lvl >= @min_min
또 min_lvl에 대해서 범위로 조회를 하는 SP를 작성합니다.
Create proc pu_job;2
@max_max int,
@max_min int
AS
SELECT * FROM dbo.jobs
WHERE max_lvl <= @max_max and max_lvl >= @max_min
사용 방법은 EXEC pu_job;2, pu_job;1 입니다.
위와 같이 그룹으로 sp를 작성해 놓고 만약 job table이 삭제 되었을 때
관련 sp를 같이 삭제를 해주고 싶다거나 한다면
Drop proc pu_job 이런 식으로 하면 pu_job으로 그룹이 지정된 sp는 모두 삭제가 됩니다.
꼭 이런 경우만 아니더라도 여러 경우에 적용하여 사용할 수 있을 것 같습니다.
도움이 되시길.
댓글목록
등록된 댓글이 없습니다.