[SQL] 동적 SELECT TOP @var에서 SQL 서버
SQL동적 SELECT TOP @var에서 SQL 서버
어떻게 SQL Server의 반환에 행의 양을 설정 동적 변수를 가질 수있다? 다음은 SQL 서버 2005 +의 올바른 구문되지 않습니다 :
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
해결법
-
==============================
1.
SELECT TOP (@count) * FROM SomeTable
이것은 단지 SQL로 작동합니다 2005 +
-
==============================
2.구문은 "선택 최고 (@var는) ..."단지 2005 + SQL 서버에서 작동합니다. SQL 2000의 경우, 당신은 할 수 있습니다 :
구문은 "선택 최고 (@var는) ..."단지 2005 + SQL 서버에서 작동합니다. SQL 2000의 경우, 당신은 할 수 있습니다 :
set rowcount @top select * from sometable set rowcount 0
도움이 되었기를 바랍니다
Oisin.
(- 감사 augustlights 행 개수와 @@ 행 개수를 대체하기 위해 편집)
-
==============================
3.x0n의 예에서, 그것은해야한다 :
x0n의 예에서, 그것은해야한다 :
SET ROWCOUNT @top SELECT * from sometable SET ROWCOUNT 0
http://msdn.microsoft.com/en-us/library/ms188774.aspx
-
==============================
4.그것도 가능한 동적 SQL을 사용하고 간부 명령을 실행합니다 :
그것도 가능한 동적 SQL을 사용하고 간부 명령을 실행합니다 :
declare @sql nvarchar(200), @count int set @count = 10 set @sql = N'select top ' + cast(@count as nvarchar(4)) + ' * from table' exec (@sql)
-
==============================
5.또는 당신은 괄호 안에 변수를 넣어
또는 당신은 괄호 안에 변수를 넣어
DECLARE @top INT = 10; SELECT TOP (@Top) * FROM <table_name>;
-
==============================
6.
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
from https://stackoverflow.com/questions/175962/dynamic-select-top-var-in-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL은 대 SQL 하위 쿼리 (성능)에 합류? (0) | 2020.03.28 |
---|---|
[SQL] 테이블이 사용하지 않고있는 경우 "선택"체크 (0) | 2020.03.28 |
[SQL] 그것은 열하지 삽입을 반환하는 SQL 출력 절의 할 수 있습니까? (0) | 2020.03.28 |
[SQL] SQL 서버 - 오류에 거래 롤 다시? (0) | 2020.03.28 |
[SQL] SQL 서버 2005/2008에서 요일을 가져 오기 (0) | 2020.03.28 |