我需要将查询结果放入一个变量中。
只是一个查询,工作成功
DECLARE @count INT = (
SELECT count (*)
FROM [AdventureWorks].[Person].[Address]
);
select @count;
Run Code Online (Sandbox Code Playgroud)
但是如果我需要WITH
在查询中使用该语句,则会出现语法错误
DECLARE @count INT = (
WITH person_address (id)
as (
SELECT AddressID
FROM [AdventureWorks].[Person].[Address]
)
SELECT count (*)
FROM person_address
);
select @count;
Run Code Online (Sandbox Code Playgroud)
消息 156,级别 15,状态 1,第 2 行 关键字“WITH”附近的语法不正确。
消息 319,级别 15,状态 1,第 2 行 关键字“with”附近的语法不正确。如果此语句是公用表表达式、xmlnamespaces 子句或更改跟踪上下文子句,则前一条语句必须以分号终止。
消息 102,级别 15,状态 1,第 9 行 ')' 附近的语法不正确。
如果WITH
在 SQL 语句中使用了子句,如何将查询值放入变量中?