sql – 为什么我无法在BEGIN … END块中创建一个视图

代码不起作用,返回错误
BEGIN
  CREATE VIEW [dbo].[dummy] AS SELECT 1 AS Dummy
END
GO`

Incorrect Syntax near the keyword 'VIEW'.

为什么?

笔记:

> GO声明的存在
似乎没有什么区别
>内部语句在代码块分隔符之外工作正常.
>这是一个较大的查询的一部分,但是
像孤立的测试一样
在这里介绍

解决方法

这是因为CREATE VIEW必须是 this MSDN reference中描述的批次中的第一个语句.

相反,你可以做:
例如

.....
    BEGIN 
        EXECUTE('CREATE VIEW [dbo].[dummy] AS SELECT 1 AS Dummy')
    END

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...