SQL Server WITH не работает, неверный синтаксис? - PullRequest
1 голос
/ 15 февраля 2011

Используя следующий запрос,

WITH 
    cteTest (Employee_ID)
    AS
    (
        SELECT employee_ID FROM pep.dbo.labor_ticket
    )
SELECT Employee_ID FROM cteTest;

Я получаю следующее возвращение:

Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'WITH'.

Смотрит прямо на меня.Я задал аналогичный вопрос о подзапросе, но та же логика здесь не применима, поскольку я связал таблицу с именем cteTest.Чего не хватает?

Ответы [ 2 ]

3 голосов
/ 15 февраля 2011

Попробуйте поставить точку с запятой перед знаком «WITH».

;WITH 
    cteTest (Employee_ID)
    AS
    (
        SELECT employee_ID FROM pep.dbo.labor_ticket
    )
SELECT Employee_ID FROM cteTest;
1 голос
/ 15 февраля 2011

Похоже, что эта конкретная база данных находится на SQL Server 8.0, который не поддерживает CTE. Похоже, мне придется рассчитываться с подзапросами.

Цифры, работающие на компанию с 3 различными версиями SQL Server, которые я бы упустил из виду. Другие серверы 9.0 и поддерживают эту функциональность просто отлично, и мне никогда не приходилось что-то писать с CTE для этой конкретной БД, каждый день узнавать что-то новое:)

...