안녕하세요 어디서 본 것같은데 잊어먹어서요
프로시저에서 select 시 최대 레코드를 10으로 지정하면 ( top 아닙니다. 프로시저에 선언으로)
결과가 10개 넘어가면 실행을 중지하고 10개만 반환하는게 있었는데요
혹시 아시나요?
혹시 LIMIT 0, 10 아닌가요 ?
SET ROWCOUNT 10
위처럼 지정하고 쿼리를 실행하면
10개 row만 볼 수 있습니다.
SET ROWCOUNT 의 경우에는 하나의 쿼리에만 적용되는 것이 아니라
같은 세션의 다른 SQL문에도 영향을 끼칩니다.
set rowcount 5
delete from table
=> 5row만 지워짐.
select * into table2
from table
=>5row만 table2로 생성됨.
위의 예처럼 다른 쿼리에도 영향을 끼치기 때문에 사용시 주의를 기울여야합니다.
옵션을 해제하려면 SET ROWCOUNT 0 을 지정하면 됩니다.