MSSQL SELECT TOP 변수 사용하기
MS-SQL 에서 쿼리를 사용하면서 상위 몇개 데이터만 확인을 할 때 TOP 을 많이 사용합니다.
오라클에서는 ROWNUM 으로 변수를 사용하여 데이터를 출력할 수 있었는데, MSSQL에서는 TOP에 변수를 사용하면 오류 메세지가 발생됩니다.
예를들어 프로시저를 사용할 때 말입니다.
테스트를 위해 TEMP 테이블을 생성합니다.
아래와 같이 @TMP 변수를 사용해서 TOP 데이터를 출력하면 오류가 발생합니다.
'@TMP' 근처의 구문이 잘못되었습니다. 라는 오류메세지 입니다.
SELECT TOP @TMP * FROM TABLE;
TOP에 변수를 사용할 때 오류가 발생되는 메세지인데, 아래 방법으로 해결이 가능합니다.
변수에 () 괄호를 삽입해서 실행을 하게 되면 @TMP 변수를 값으로 변환하여 데이터를 출력할 수 있습니다.