当前位置: 数据库>sqlserver
SQL SERVER先判断视图是否存在然后再创建视图的语句
来源: 互联网 发布时间:2014-10-14
本文导语: 如果我们的语句为: 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 Tic...
如果我们的语句为:
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 这一句必须是批处理中的第一句。
所以可以将该语句修改为:
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