在 CREATE VIEW 中使用 WITH 处理 SQL

baz*_*lic 14 t-sql view

我想使用 WITH 子句创建 VIEW,但真的找不到任何关于正确语法的参考。

我想要这样

WITH TempTbl AS (SELECT ...)
CREATE VIEW SomeView
SELECT *
FROM TempTbl
Run Code Online (Sandbox Code Playgroud)

使用多个 WITH 子句的正确语法是什么?

MSDN 上没有任何用处 :(

gbn*_*gbn 26

CTE 进入视图内部。

使用 CTE 进行查询

WITH cte AS (...) SELECT ...;
Run Code Online (Sandbox Code Playgroud)

只需添加 CREATE VIEW AS .. GO

CREATE VIEW
AS
WITH cte AS (...) SELECT ...;
GO
Run Code Online (Sandbox Code Playgroud)

MSDN 确实描述了多个 CTE(参见示例 j)

CREATE VIEW
AS
WITH
   cte1 AS (...),
   cte2 AS (...),
   cte3 AS (...)
SELECT ...
GO
Run Code Online (Sandbox Code Playgroud)


小智 6

CREATE VIEW 
someview
AS
WITH CTEstuff AS (SELECT etc)
SELECT * FROM CTESTuff;
Run Code Online (Sandbox Code Playgroud)