Sql server 如何避免创建视图必须是批处理错误中的唯一语句?

Sql server 如何避免创建视图必须是批处理错误中的唯一语句?,sql-server,Sql Server,CREATE VIEWpart被突出显示为错误,我不能一次运行完整的代码(它向我显示错误),如何避免这种情况 -- Creating pizza view CREATE VIEW pizza_view AS SELECT p.pizza_id ,p.pizza_name ,p.description AS 'pizza_desc' ,t.type_id AS 'range_id' ,t.type_name AS 'range_name' ,t.price

CREATE VIEW
part被突出显示为错误,我不能一次运行完整的代码(它向我显示错误),如何避免这种情况

-- Creating pizza view
CREATE VIEW pizza_view
AS
SELECT p.pizza_id
    ,p.pizza_name
    ,p.description AS 'pizza_desc'
    ,t.type_id AS 'range_id'
    ,t.type_name AS 'range_name'
    ,t.price AS 'range_price'
FROM pizza AS p
INNER JOIN type AS t ON p.type_id = t.type_id;

-- Creating side view
CREATE VIEW side_view
AS
SELECT so.order_id
    ,so.side_id
    ,s.side_name
    ,so.qty_ordered AS 'qty'
    ,s.price * so.qty_ordered AS 'total_cost'
FROM side AS s
INNER JOIN side_order AS so ON s.side_id = so.side_id;

-- Creating order view
CREATE VIEW order_view
AS
SELECT p.pizza_id
    ,po.order_id
    ,co.ready
    ,p.pizza_name
    ,t.type_id AS 'range_id'
    ,t.type_name AS 'range_name'
    ,t.price + i.surcharge AS 'cost_of_the_pizza'
FROM pizza AS p
INNER JOIN type AS t ON p.type_id = t.type_id
INNER JOIN pizza_order AS po ON p.pizza_id = po.pizza_id
INNER JOIN customer_order AS co ON po.order_id = co.order_id
INNER JOIN pizza_ingredient AS pi ON p.pizza_id = pi.pizza_id
INNER JOIN ingredient AS i ON pi.ingredient_id = i.ingredient_id;

在这里,您需要纠正两个问题,例如分离和不同视图的不同名称。由于错误是查询创建视图,所以存储过程和函数应该在单独的批处理中

GO向SQL Server实用程序发出一批Transact-SQL语句结束的信号

例如:

Create view <YourViewName>
Select * from <YourViewName> -- This will give error.

您可以找到。

它向我显示错误:请共享您收到的错误消息。在每次创建视图后尝试使用GO语句。我发现了我的错误。谢谢,我已放置了一个;go之后(go;)这就是为什么在我使用go之后它不起作用的原因。@xxdsxx您也可以尝试一个接一个地运行您的查询。@Suraj Kumar以前我是这样做的,但我需要立即运行完整的代码。@xxdsxx和任何其他发现它的人提醒,“go”不是SQL语句,它是SQL Server Management Studio(SSMS)和其他SQL工具(OSQL.EXE、SQLCMD.EXE等)等客户端可以识别的分隔符。如果您是从自己的代码执行此操作,则需要提交三个单独的批处理,每个批处理都在其自己的批处理请求中“创建视图”。这就是这些其他公用事业公司在幕后所做的。。。“GO”只是一个“批处理分隔符”。@pmbAustin您是对的,根据SSMS或其他编辑器中的设置,GO也可以更改为其他文本。
-- Creating pizza view
CREATE VIEW pizza_view1
AS
SELECT 1 AS a --Your actual view statement here.
GO

-- Creating side view
CREATE VIEW side_view2
AS
SELECT 2 AS b --Your actual view statement here.
GO

-- Creating order view
CREATE VIEW order_view3
AS
SELECT 3 AS c --Your actual view statement here.