SQL Server 2005에서 2008로 데이터베이스 이동을 테스트하고 있습니다. 우리는 CTE를 페이징에 사용합니다.SQL Server 2008 CTE 및 CONTAINSTABLE 문 - 왜 오류입니까?
전체 텍스트 CONTAINSTABLE을 사용하면 CTE가 실행되지 않고 오류가 발생합니다. 나는 CONTAINSTABLE 줄을 주석으로 경우
여기 나의
WITH results AS (
SELECT ROW_NUMBER() over (ORDER BY GBU.CreateDate DESC) as rowNum,
GBU.UserID,
NULL AS DistanceInMiles
FROM User GBU WITH (NOLOCK)
WHERE 1=1
AND GBU.CountryCode IN (SELECT [Value] FROM fn_Split('USA',','))
AND GBU.UserID IN (SELECT [KEY] FROM CONTAINSTABLE(VW_GBU_Search, *, 'COMPASS'))
)
SELECT * from results
WHERE rowNum BETWEEN 0 and 25
코드 - 비 작업의 명령문이 실행됩니다. SELECT 문 (WITH가 아닌) 만 실행하면 명령문이 올바르게 실행됩니다.
나는이에 얻는 않은 도움이 오류는 다음과 같습니다
이메시지 0, 수준 11, 상태 0, 줄 0 A 심각한 오류가 현재 명령에 발생했습니다. 결과가있는 경우 을 버려야합니다. 메시지 0, 수준 20, 상태 0, 줄 0 현재 명령 에 심각한 오류가 발생했습니다. 결과가 이라면 버려야합니다.
의견이 있으십니까?
SQL 문장과 같은 코드 행을 강조 표시 한 다음 편집기 툴바에서 "코드"버튼 (101 010)을 누르거나 키보드에서 Ctrl-K를 눌러야합니다. 멋지게 포맷하고 구문을 강조하는 코드 섹션! –