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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。