MSSQL SELECT TOP 변수 사용하기


MS-SQL 에서 쿼리를 사용하면서 상위 몇개 데이터만 확인을 할 때 TOP 을 많이 사용합니다.

오라클에서는 ROWNUM  으로 변수를 사용하여 데이터를 출력할 수 있었는데, MSSQL에서는 TOP에 변수를 사용하면 오류 메세지가 발생됩니다.


예를들어 프로시저를 사용할 때 말입니다.


테스트를 위해 TEMP 테이블을 생성합니다.



아래와 같이 @TMP 변수를 사용해서 TOP 데이터를 출력하면 오류가 발생합니다.

'@TMP' 근처의 구문이 잘못되었습니다. 라는 오류메세지 입니다.

SELECT TOP @TMP * FROM TABLE;


TOP에 변수를 사용할 때 오류가 발생되는 메세지인데, 아래 방법으로 해결이 가능합니다.

변수에 () 괄호를 삽입해서 실행을 하게 되면 @TMP 변수를 값으로 변환하여 데이터를 출력할 수 있습니다.

* 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^