程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQL SERVER先判斷視圖是否存在然後再創建視圖的語句,sqlserver

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

編輯:更多數據庫知識

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


如果我們的語句為:

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

sql server怎判斷視圖是否存在

SELECT count(*) as cut FROM sysviews WHERE object_id = '[dbo].[視圖名]'
if fieldByName('cut')>0 then
//存在
else
//不存在
 

sql server 判斷視圖是否存在

先判斷下列語句是否返回結果,然後再判斷.

SELECT * FROM DBO.SYSOBJECTS B WHERE B.XTYPE = 'V' AND B.NAME = 'A'
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved