Я тестирую перемещение нашей базы данных с SQL Server 2005 до 2008 года. Мы используем CTE для подкачки.SQL Server 2008 CTE И CONTAINSTABLE Statement - Почему ошибка?
При использовании полнотекстового CONTAINSTABLE CTE не запускается и генерирует ошибку.
Вот мой нерабочим код-
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
Если я закомментируйте CONTAINSTABLE линию, оператор выполняет. Если я выполняю только инструкцию SELECT (а не WITH), оператор выполняет штраф.
ООН-полезной Я получаю ошибку на это:
Msg 0, Level 11, State 0, линия 0 серьезная ошибка произошла на текущей команды. Результаты, если таковые имеются, должны быть отброшены . Msg 0, уровень 20, состояние 0, строка 0 Суровая ошибка произошла в текущей команде. Результаты, если любой, должны быть отброшены.
Любые предложения?
вам нужно выделить строки кода (например, ваш SQL заявление), а затем нажмите кнопку «код» (101 010) на панели инструментов редактора (или нажмите Ctrl-K на клавиатуре) для удобного форматирования и синтаксиса выделите эти разделы кода! –