반응형
SQL Server의 동적 SELECT TOP @var
SQL Server에서 반환할 행의 양을 설정하는 동적 변수를 사용하려면 어떻게 해야 합니까?다음은 SQL Server 2005+에서 올바른 구문이 아닙니다.
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
SELECT TOP (@count) * FROM SomeTable
SQL 2005+에서만 작동합니다.
"select top (@var) ..." 구문은 SQL SERVER 2005+에서만 작동합니다.SQL 2000의 경우 다음 작업을 수행할 수 있습니다.
set rowcount @top
select * from sometable
set rowcount 0
이것이 도움이 되길 바랍니다.
오이신.
(@@rowcount를 rowcount로 대체할 수 없음 - 감사합니다.)
x0n의 예에서는 다음과 같아야 합니다.
SET ROWCOUNT @top
SELECT * from sometable
SET ROWCOUNT 0
http://msdn.microsoft.com/en-us/library/ms188774.aspx
declare @rows int = 10
select top (@rows) *
from Employees
order by 1 desc -- optional to get the last records using the first column of the table
또는 변수를 괄호 안에 넣으십시오.
DECLARE @top INT = 10;
SELECT TOP (@Top) *
FROM <table_name>;
동적 SQL을 사용하고 exec 명령을 사용하여 실행할 수도 있습니다.
declare @sql nvarchar(200), @count int
set @count = 10
set @sql = N'select top ' + cast(@count as nvarchar(4)) + ' * from table'
exec (@sql)
언급URL : https://stackoverflow.com/questions/175962/dynamic-select-top-var-in-sql-server
반응형
'programing' 카테고리의 다른 글
C#을 사용하여 Excel 파일 읽기/쓰기(.xls/.xlsx) (0) | 2023.05.01 |
---|---|
설정된 행 수를 사용하여 스프레드시트를 여러 스프레드시트로 분할하는 방법은 무엇입니까? (0) | 2023.05.01 |
Eclipse에서 전체 프로젝트를 찾거나 바꿀 수 있는 방법이 있습니까? (0) | 2023.05.01 |
mongo:csv 파일로 Aggregate 내보내기 (0) | 2023.05.01 |
콘다 업데이트 후 터미널 프롬프트에서 제거(베이스)하는 방법 (0) | 2023.05.01 |