1. 程式人生 > >SQL SERVER中先判斷檢視是否存在,然後再建立檢視

SQL SERVER中先判斷檢視是否存在,然後再建立檢視

如果我們的語句為:

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判斷檢視是否存在然後建立檢視

如果我們的語句為: IF NOT EXISTS(SELECT 1 FROM sys.views WHERE name='Report_IndividualTicket') BEGIN create view Report_IndividualTicket as SELECT

Sql Server執行計劃的緩機制

機制 大致 sql語句 color 內存 存儲過程 image 語法檢查 轉換 Sql查詢過程       當執行一個Sql語句或者存儲過程時, Sql Server的大致過程是 1. 對查詢語句進行分析,將其生成邏輯單元,並進行基本的語法檢查 2. 生成查詢樹(會將

sql server的全局變量常用的沒有多少...以後看看就行

detail 技術分享 服務 @* version 變量 名稱 tail identity 全局變量格式: @@***   這些變量有系統維護,不需要我們自己定義,一般都是用來查看信息。 在存儲過程中 用得最多的 @@error,判斷有沒有錯誤信息。 一、@@versio

SQL server while迴圈的使用方法將day表的資料累加到sum表

       因為在保險行業工作,在統計資料的時候會遇到將每天的資料累加起來作為年累計的資料落到sum表中。涉及公司的機密就不把實際的表結構和資料展示,我重新建立一些測試表來說明while迴圈的神奇之處,day的資料累加到sum表中。 一、準備資料表t

SQL server刪除synonym時報不存在或者您沒有所需的許可權

sql server 2008  使用sa登入的。建立了synonym成了,但是刪除時發生下面的錯誤資訊: 建立>create synonym dbo.test1  for table_test; 檢視所有同義詞>select * 

SQL Server事務日誌管理的階梯級別5:以完全恢復模式管理日誌

value letter 的確 維護計劃 臨時 行數 dbo call des 該系列本文是Stairway系列的一部分:SQL Server中事務日誌管理的階梯 當事情進展順利時,沒有必要特別註意事務日誌的功能或工作方式。您只需要確信每個數據庫都有正確的備份機制。當出現問

SQL Server事務日誌管理的步驟第5級:完全恢復模式管理日誌(譯)

維護計劃 recover 最小 替代 關心 每日 工作方式 檢查 耗時 SQL Server中事務日誌管理的步驟,第5級:完全恢復模式管理日誌 作者:Tony Davis,2012/01/27 系列 本文是進階系列的一部分:SQL Server中事務日誌管理的步驟 當事情進

SQL Server事務日誌管理的步驟第5級:完全恢復模式管理日誌

語句 targe .aspx 頻率 良好的 popu 這樣的 模式 insert SQL Server中事務日誌管理的步驟,第5級:完全恢復模式管理日誌 作者:Tony Davis,2012/01/27 系列 本文是進階系列的一部分:SQL Server中事務日誌管理的

翻譯:SQL Server事務日誌管理的階梯級別5:以完全恢復模式管理日誌

作者:Tony Davis, 2012/01/27 該系列 本文是Stairway系列的一部分:SQL Server中事務日誌管理的階梯 當事情進展順利時,沒有必要特別注意事務日誌的功能或工作方式。您只需要確信每個資料庫都有正確的備份機制。當出現問題時,瞭解事務日誌對於採取糾正措施非常重要,尤

翻譯之:SQL Server事務日誌管理的階梯級別5:以完全恢復模式管理日誌

資料庫中事務日誌管理的階梯,級別5:以完全恢復模式管理日誌 原文連結:http://www.sqlservercentral.com/articles/Stairway+Series/73785/ 作者:Tony Davis, 2012/01/27 本文是樓梯系列的一部分:SQL Server

翻譯:Stairway to Transaction Log Management in SQL Server, Level 5: Managing the Log in Full Recovery Mode SQL Server事務日誌管理的階梯級別5:以完全恢復模式管理日誌

轉載自:Stairway to Transaction Log Management in SQL Server, Level 5: Managing the Log in Full Recovery Mode SQL Server,By Tony Davis,文章來源:http://www.sqlserve

SQL Server資料庫檔案的存放方式檔案和檔案組

http://www.cnblogs.com/CareySon/archive/2011/12/26/2301597.html 寫在前面:上次我關於索引的文章有幾個園友發站內信問我如何將索引和表儲存在不同的硬碟上。我覺的需要專門寫一篇文章來講述一下檔案和檔案組應該更

從一個文件讀取數據到內然後把內的數據寫入另外一個文件

錯誤代碼 就會 取數據 stream off err sig where 返回值 //從一個文件中讀取數據到內存,然後再把內存中的數據寫入另外一個文件 #include "stdafx.h"#include "stdlib.h" in

VMware Workstation 與 Hyper-V 不相容。請從系統移除 Hyper-V 角色然後執行 VMware Workstation

VMware Workstation 與 Hyper-V 不相容。請先從系統中移除 Hyper-V 角色,然後再執行 VMware Workstation。 原因:Hyper-V後VMware都要獨佔基於CPU等底層硬體的 Hypervisor才能執行,所

陣列物件排序根據某個屬性排序然後此基礎上根據另外一個屬性值排序不會打亂第一個排序【根據年份根據月份】

// 排序,先進行某個物件屬性排序,然後在此基礎上進行另一個屬性排序[先按年份,再按月份] export function multisort(array, ...compairers) { return array.sort((a, b) => { for (const

Sql Server 查詢儲過程的修改時間

lai 名稱 lec code str name class 指定 number 1、按最近修改排序所有存儲過程 SELECT [name], [create_date], [modify_date] FROM [sys].[objects] WHERE [type

將一個基於磁盤的表遷移到SQL Server的一個內優化的表

varchar 並發 ken 希望 重要 資源管理器 limited com arc 本文是微軟的譯文,對應的原文是:https://www.red-gate.com/simple-talk/sql/database-administration/migrating-dis

Sql Server判斷表、列不存在則創建的方法[轉]

where art number primary net index mman www tro 一、Sql Server中如何判斷表中某列是否存在 首先跟大家分享Sql Server中判斷表中某列是否存在的兩個方法,方法示例如下: 比如說要判斷表A中的字段C是否存在兩個

遍歷SQL SERVER所有儲過程和觸發器

server text 查找 所有 and from obj where serve 如果需要查找某個存儲過程或觸發器中是否含有某段文本(比如:你想知道有哪些存儲過程操作了某個表) 可以這麽寫 select name from sysobjects o, syscomm

[SQL]sql server如何直接查詢儲過程EXEC返回的結果集?

arc div lec rom 結果 In varchar SQ type Declare @T Table (iDay VARCHAR(4),iNum DECIMAL(18,2),yuxiang DECIMAL(18,9))