문제

다음은 어떻게 작동하지 않습니까?

CREATE FUNCTION Test (@top integer)
RETURNS TABLE
AS
RETURN
SELECT TOP @top * FROM SomeTable
GO

반환 할 결과 수를 지정할 수 있기를 원합니다. [SQL Server 2000

감사!

도움이 되었습니까?

해결책

MS SQL 2000의 경우 다음을 사용할 수 있습니다.

CREATE FUNCTION Test (@top integer)

RETURNS TABLE

AS

SET ROWCOUNT @top

RETURN SELECT * FROM SomeTable

다른 팁

이에 대한 지원은 SQL Server 2005에 추가되었지만 2000 년에는 사용할 수 없습니다. 동적 SQL 또는 다른 숫자 트릭을 사용해야합니다.

기능 테스트 생성 (@Top Integer)

테이블을 반환합니다

처럼

반품

TOP (@Top) *을 선택하십시오

가다

그러나 절로 명령 없이는 그다지 의미가 없습니다 (결과의 순서는 보장되지 않습니다).

죄송합니다 SQL Server 2000에서는 가변 상단을 사용할 수 없습니다. 모든 버전에서는 동적 SQL이 지원되지 않습니다.

Jake, RowCount를 함수 매개 변수에 설정 한 다음 SELECT를 수행하십시오. 나는 이것을 시도하지 않았다, ymmv.

에서: http://msdn.microsoft.com/en-us/library/aa259189(sql.80).aspx

통사론

SET ROWCOUNT { number | @number_var }
Arguments

number | @number_var

주어진 쿼리를 중지하기 전에 처리 할 행의 숫자 (정수)입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top