블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday

'동적쿼리'에 해당되는 글 1건

  1. 2009.06.23 [MS-SQL] [ Query ] 동적 쿼리 만들어 쓰기



ㅁ MS-SQL  동적 쿼리 만들어 쓰기.

 동적쿼리를 만들어 쓰면 편한게 일단 조건을 상황에 따라 변경이 가능하고, 필용에 따라 필요한 데이터를 뽑기도 편한것 같다. 하지만...좀 쓰기 귀찮은게 있긴하다.  코드로 간단하게 알아 보자.

예제)

Query

DECLARE

@CurrentPage INT,

@PageSize    INT,

@Missionidx  INT,

@QuestionKind INT   

 

SET @CurrentPage = 2;

SET @PageSize = 10;

SET @CurrentPage = @PageSize * (@CurrentPage-1);

 

DECLARE

@Query NVARCHAR(1000),

@Param NVARCHAR(100)

 

 

 

SET @Query = '

SELECT TOP(@PageSize) MemoIdx,UserIdx, MemoContent

       FROM Memo

       WHERE MemoIdx < (

             SELECT ISNULL(MIN(A.MemoIdx),999999)

                    FROM (

                                 SELECT TOP(@CurrentPage) MemoIdx

                                        FROM Memo

                                        ORDER BY MemoIdx DESC

                           ) A

                                 )

ORDER BY MemoIdx DESC';

 

SET @Param = '@PageSize    INT, @CurrentPage   INT';

 

EXECUTE sp_executesql @Query, @Param,

                                 @PageSize,

                                 @CurrentPage



위 쿼리는 간단하게 Memo테이블에서 Memo리스트를 가지고 오는 쿼리이다. 페이징 기능이 있는... 그래서 CurrentPage변수와 PageSize변수가 있는 것이다. 동적쿼리는 이렇게 Query라는 임의의 변수를 만들어 주고, 문자열로 지정해서 EXECUTE sp_executesql 함수를 이용해서 호출해 주면 되는 것이다.
Posted by happydong
, |