SQL Server WITH无法正常工作,语法无效?

时间:2011-02-14 22:24:49

标签: sql-server syntax sql-server-2000 with-statement

使用以下查询

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 个答案:

答案 0 :(得分:3)

尝试在“WITH”前加一个分号。

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

答案 1 :(得分:1)

看起来这个特定的数据库在SQL Server 8.0上,它不支持CTE。看起来我必须满足子查询。

数字,为一家拥有3个不同版本的SQL Server的公司工作,我忽略了这一点。其他服务器是9.0并且支持这个功能就好了,我从来没有用针对这个特定数据库的CTE写东西,每天都学到新东西:)