此代码不起作用,返回错误:
BEGIN
CREATE VIEW [dbo].[dummy] AS SELECT 1 AS Dummy
END
GO`
Incorrect syntax near the keyword 'VIEW'.
为什么?
注意:
GO语句的存在 似乎没有什么区别
内部语句在代码块分隔符之外正常工作。
这是较大查询的一部分但是 尽可能隔离地进行测试 在这里提出。
答案 0 :(得分:25)
这是因为CREATE VIEW必须是批量中的第一个语句,如this MSDN reference中所述。
相反,你可以这样做: e.g。
.....
BEGIN
EXECUTE('CREATE VIEW [dbo].[dummy] AS SELECT 1 AS Dummy')
END
答案 1 :(得分:-2)
您可以使用三种方式创建临时视图。
1- AdaTheDev 回答。
2 - 创建一个临时表,然后在其中插入值,例如create Table #TableName (ID integer)
。 See this Link
3-使用公用表表达式[With]。 See this Link