SQL SERVER先判斷視圖是否存在然后再創建視圖的語句


如果我們的語句為:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
IF NOT EXISTS( SELECT 1 FROM sys.views WHERE name = 'Report_IndividualTicket' )
BEGIN
create view Report_IndividualTicket
as
SELECT Ticket.TicketNumber, Ticket.TicketID,
GisProcess.StageName,
Content.DtReceived, Content.ContentText
FROM
(GisProcess INNER JOIN Ticket
ON GisProcess.TicketID=Ticket.TicketID)
INNER JOIN Content
ON Ticket.ContentID=Content.ContentID
END

會提示以下錯誤:

Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'view'.

出現這個錯誤的原因是:create view 這一句必須是批處理中的第一句。

所以可以將該語句修改為:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
IF EXISTS( SELECT 1 FROM sys.views WHERE name = 'Report_IndividualTicket' )
DROP VIEW Report_IndividualTicket
GO
create view Report_IndividualTicket
as
SELECT Ticket.TicketNumber, Ticket.TicketID,
GisProcess.StageName,
Content.DtReceived, Content.ContentText
FROM
(GisProcess INNER JOIN Ticket
ON GisProcess.TicketID=Ticket.TicketID)
INNER JOIN Content
ON Ticket.ContentID=Content.ContentID
GO


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM