Jas*_*ldo 2 sql sql-server-2008
事实是:我不擅长SQL,经过一些研究后我无法弄明白.我正在阅读有关利用视图的章节,我无法使此查询起作用:
USE [jm0235242]
CREATE VIEW InvoiceBasic
AS
SELECT VendorName, InvoiceNumber, InvoiceTotal
FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID
Run Code Online (Sandbox Code Playgroud)
它与我的USE声明存在问题:
'CREATE VIEW'必须是查询批处理中的第一个语句".
我的问题是,如果我不能使用我的USE语句,我应该如何指定应该查看哪个数据库.感谢您的帮助和感恩节快乐!
您需要确保它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
Run Code Online (Sandbox Code Playgroud)
当您在SQL Server Management Studio中运行它时,GO
关键字结束批处理并执行它 - CREATE VIEW
现在它是第二批中的第一个语句,它也很开心并且也有效
更新:这个问题,为什么完全CREATE VIEW
(同时也ALTER VIEW
为此事)必须是一个批次的第一条语句躲开我-我从来没有听说过这方面的任何说服力的解释.也许微软或与团队关系密切的人都知道这一点,可以为我们所有人解释一下吗?:-)
归档时间: |
|
查看次数: |
3115 次 |
最近记录: |