MSSQL SELECT TOP 변수 사용하기

MS-SQL 에서 쿼리를 사용하면서 상위 몇개 데이터만 확인을 할 때 TOP 을 많이 사용합니다.
오라클에서는 ROWNUM 으로 변수를 사용하여 데이터를 출력할 수 있었는데, MSSQL에서는 TOP에 변수를 사용하면 오류 메세지가 발생됩니다.
예를들어 프로시저를 사용할 때 말입니다.
테스트를 위해 TEMP 테이블을 생성합니다.

아래와 같이 @TMP 변수를 사용해서 TOP 데이터를 출력하면 오류가 발생합니다.
'@TMP' 근처의 구문이 잘못되었습니다. 라는 오류메세지 입니다.
SELECT TOP @TMP * FROM TABLE;

TOP에 변수를 사용할 때 오류가 발생되는 메세지인데, 아래 방법으로 해결이 가능합니다.
변수에 () 괄호를 삽입해서 실행을 하게 되면 @TMP 변수를 값으로 변환하여 데이터를 출력할 수 있습니다.

 
								
 
								 
											 
											 
											 
											 
											 
											 
											 
											 
											 
											 
											 
											 
											![[알고리즘과 자료구조] JAVA - 탐욕법(Greedy) 체육복](/upload/blogWrite/image/2021/05/08/480369af-7126-42d2-893a-b9c2f161092d.png) 
											![[JQUERY] on 함수 사용하여 여러개 이벤트 한번에 사용하기](/upload/blogWrite/image/2020/09/29/70fdd274-3de8-4716-95c3-93348039c28b.png) 
											 
											 
											 
											 
											