如何使用单个查询在SQL Server 2008中创建和更新视图

时间:2016-02-08 07:02:16

标签: sql-server sql-server-2008

我有两个问题。创建新视图并更新视图查询。

1)vw_delay(新),

CREATE VIEW vw_delay AS
        SELECT ....

2)vw_RDoc(存在)

 ALTER VIEW vw_RDoc AS
        SELECT ....

我想将两个查询作为单个查询运行。我试着像这样跑,

CREATE VIEW vw_delay AS
            SELECT ....
  ALTER VIEW vw_RDoc AS
            SELECT ....

但它会返回此错误:

  

Msg 156,Level 15,State 1,Procedure vw_delay,Line 7
  关键字“ALTER”附近的语法不正确。

     

Msg 111,Level 15,State 1,Procedure vw_delay,Line 7
  'ALTER VIEW'必须是查询批处理中的第一个语句。

怎么做?请帮我。

3 个答案:

答案 0 :(得分:1)

在第一次创建视图后添加GO是必要的。

CREATE VIEW vw_delay AS
            SELECT ....
GO
  ALTER VIEW vw_RDoc AS
            SELECT ....

然后它会起作用。

答案 1 :(得分:1)

您需要在创建视图后放置GO。请记住,GO用作BATCHES的分隔符

CREATE VIEW vw_delay AS
SELECT ....
GO
ALTER VIEW vw_RDoc AS
SELECT ....

答案 2 :(得分:0)

使用批次终止符' GO'。它将分开两个批次,然后它将正常工作

criteria