首页 > 数据库 > SQL Server > 正文

SQL SERVER先判断视图是否存在然后再创建视图的语句

2020-07-25 12:56:17
字体:
来源:转载
供稿:网友

如果我们的语句为:

IF NOT EXISTS(SELECT 1 FROM sys.views WHERE name='Report_IndividualTicket')BEGINcreate view Report_IndividualTicketasSELECT Ticket.TicketNumber, Ticket.TicketID,GisProcess.StageName,Content.DtReceived, Content.ContentTextFROM(GisProcess INNER JOIN TicketON GisProcess.TicketID=Ticket.TicketID)INNER JOIN ContentON Ticket.ContentID=Content.ContentIDEND

会提示以下错误:

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_IndividualTicketGOcreate view Report_IndividualTicketasSELECT Ticket.TicketNumber, Ticket.TicketID,GisProcess.StageName,Content.DtReceived, Content.ContentTextFROM(GisProcess INNER JOIN TicketON GisProcess.TicketID=Ticket.TicketID)INNER JOIN ContentON Ticket.ContentID=Content.ContentIDGO
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表