【发布时间】:2013-10-09 12:07:36
【问题描述】:
此sql有效:
WITH A AS
(SELECT TOP 1000 *
FROM dbo.SomeTable)
SELECT * FROM A
虽然这个给出了错误(关键字'DECLARE'附近的语法不正确):
WITH A AS
(SELECT TOP 1000 *
FROM dbo.SomeTable)
DECLARE @dt DATETIME
SET @dt = GETDATE()
SELECT * FROM A
PRINT DATEDIFF(SS,GETDATE(),@dt)
为什么?
【问题讨论】:
-
公用表表达式(WITH)只对一个命令(next)有效。您不能在
WITH A (...)声明和SELECT * FROM A之间声明变量或做任何事情
标签: sql sql-server sql-server-2008 common-table-expression