事实:我不擅长SQL,经过一些研究后我无法弄明白。我正在阅读有关利用视图的章节,但无法使此查询起作用:
USE [jm0235242]
CREATE VIEW InvoiceBasic
AS
SELECT VendorName, InvoiceNumber, InvoiceTotal
FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID
我的USE声明存在问题:
'CREATE VIEW'必须是查询批次中的第一个语句“。
我的问题是,如果我不能使用我的USE语句,我应该如何指定应该查看哪个数据库。感谢您的帮助和感恩节快乐!
答案 0 :(得分:6)
您需要确保CREATE VIEW
是SQL批处理中的第一个语句 - 正如错误清楚地解释的那样。所以使用这个:
USE [jm0235242]
GO -- put that "GO" separator here!
CREATE VIEW InvoiceBasic
AS
SELECT VendorName, InvoiceNumber, InvoiceTotal
FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID
在SQL Server Management Studio中运行时,GO
关键字结束批处理并执行它 - 而CREATE VIEW
现在是第二批中的第一个语句,它很开心且有效,太
更新:问题为什么确切地说CREATE VIEW
(以及ALTER VIEW
就此而言)必须是批次的第一个陈述我不知道 - 我从未听过任何令人信服的解释。也许微软或与团队关系密切的人都知道这一点,可以为我们所有人解释一下吗? : - )
答案 1 :(得分:1)
需要“GO”.....回答我自己的问题!可以有人告诉我为什么我需要这个,因为我想理解我为什么需要它。