sql - 使用 CTE 创建视图 - “Incorrect Syntax Near Go”错误
问题描述
从这里的答案中,我了解到GO
在创建 CTE 之后和之前使用CREATE VIEW
应该在理论上处理以下错误:
CREATE VIEW MUST BE THE ONLY STATEMENT IN THE BATCH
但是我现在收到一个Incorrect Syntax Near GO
错误,我不确定是什么原因。
我的代码在下面进行了简化,但所有 ;() 标点符号都是我拥有的
with RESULT1 as (
code here
),
with RESULT2 as (
code here
),
with RESULT3 as (
code here
),
with RESULT4 as (
code here
)
GO
create view TestingView as
select RESULT4.*
from RESULT4
解决方案
多个 CTE 的语法是:
with RESULT1 as (
code here
),
RESULT2 as (
code here
),
RESULT3 as (
code here
),
RESULT4 as (
code here
)
SELECT . . .
FROM . . .;
没有GO
。CTE 不是临时表。
如果你想创建一个视图,它会在WITH
. 或者,换一种说法,CTE 连接到.SELECT
而不是CREATE VIEW
.
推荐阅读
- api - 从开发控制台更改 YouTube 分辨率
- java - 如何知道它是否是 SpringBatch 的 ItemProcessor 中的最后一项
- api - 当在 initState() 中调用未来方法时,使用 Future Builder 调用 Flutter API 会返回错误
- python - 无法访问 JIRA 项目的“来自”属性
- python - 在 python 3.5 中 pip install json2html 不起作用
- django - Django - 基于类的视图 - 模型中的元标记不会传递给模板
- bash - 在 bash 脚本中将日志文件读入 2D/1D 数组
- c# - 除了使用开关创建实例之外,如何从不同的子类动态调用方法?
- javascript - 如何隐藏json数组
- here-api - 实现自己的 TileServerProvider