2012-11-22 78 views
2

事實:我不擅長SQL,經過一番研究後,我無法弄清楚這一點。我讀上利用的觀點一章,但無法得到這個查詢工作:CREATE VIEW之前的使用聲明

USE [jm0235242] 
CREATE VIEW InvoiceBasic 
AS 
SELECT VendorName, InvoiceNumber, InvoiceTotal 
FROM Vendors JOIN Invoices ON Vendors.VendorID = Invoices.VendorID 

它有問題,與我所用的語句:

「CREATE VIEW」必須在第一條語句查詢批處理」。

我的問題是,我怎麼指定的數據庫是應該看看,如果我不能用我的使用說明。感謝您的幫助,以及感恩節快樂!

回答

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,對於這個問題)必須是一個批次的第一條語句躲開我 - 我從來沒有聽說過任何說服力的解釋這一點。也許一個微軟或者一個接近團隊的人都知道這一點,可以爲我們解釋一切嗎? :-)

+0

可能相關,但是';'對MS SQL中這樣的查詢有什麼影響?一般好奇心。 – Grambot

+1

@TheCapn:分號只是終止一個語句 - 但不是批處理。您仍然可以在一個批次中使用多個語句 - 所有分號終止 - –

+1

謝謝!我想通了,看到你在我刷新的時候回答了我的問題! –

1

需要一個「去」.....回答我自己的問題!有人可以告訴我爲什麼我需要這個,因爲我想理解爲什麼我需要它。