SQL 사용자 정의 함수 : 사용자 정의 기능에서 상단 N 레코드를 가져 오기
-
08-07-2019 - |
문제
다음은 어떻게 작동하지 않습니까?
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
주어진 쿼리를 중지하기 전에 처리 할 행의 숫자 (정수)입니다.
제휴하지 않습니다 StackOverflow