久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

sqlserver中怎么存儲過程判斷是否存在

170次閱讀
沒有評論

共計 2515 個字符,預計需要花費 7 分鐘才能閱讀完成。

sqlserver 中怎么存儲過程判斷是否存在,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

sql server 中如何判斷表或者數據庫的存在,但在實際使用中,需判斷 Status 狀態位:其中某些狀態位可由用戶使用 sp_dboption(read only、dbo use only、single user 等)進行設置:

1 = autoclose;使用 sp_dboption 設置。數據庫完全關閉,其資源在最后一個用戶注銷后釋放。4 = select into/bulkcopy;使用 sp_dboption 設置。允許使用 Select INTO 語句和快速大容量復制。8 = trunc. log on chkpt;使用 sp_dboption 設置。如果數據庫處于日志截斷模式,則檢查點將截斷日志中非活動的部分。只能為 master 數據庫設置此選項。16 = torn page detection,使用 sp_dboption 設置。可以檢測殘缺頁。32 = loading。64 = pre recovery。128 = recovering。256 = not recovered。512 = offline;使用 sp_dboption 設置。數據庫將處于脫機狀態。1024 = read only;使用 sp_dboption 設置。用戶僅能讀取數據庫中的數據而無法對其進行修改。2048 = dbo use only;使用 sp_dboption 設置。只有數據庫所有者可以使用數據庫。4096 = single user;使用 sp_dboption 設置。每次只能有一個用戶訪問數據庫。32768 = emergency mode。4194304 = autoshrink。1073741824 = cleanly shutdown。

可以同時打開多個位。

譬如:判斷一個數據庫是否 offlineselect * From master.dbo.sysdatabases where name= pubs and status 512

SQL Server 中判斷表對象是否存在:select count(*) from sysobjects where id = object_id(數據庫名.Owner. 表名)

if exists(select count(*) from sysobjects where id = object_id(數據庫名.Owner. 表名))print 存在 elseprint 不存在

SQL Server 中判斷表中字段是否存在:if exists(select * from syscolumns where name= colname1 and id=object_id( 數據庫名.Owner. 表名))print 存在 elseprint 不存在 代表表 tablename1 中存在 colname1 字段例:select * from syscolumns where name= Test and id=object_id(dbo.test)

Access 中判斷表對象是否存在:其實,Access 數據庫也有系統表,存放有對象名 Select Count(*) AS Qty FROM MSysObjects Where ((MSysObjects.Name) Like 表名

復制代碼 代碼如下:
庫是否存在 if exists(select * from master..sysdatabases where name=N 庫名) print exists elseprint not exists ————— — 判斷要創建的表名是否存在 if exists (select * from dbo.sysobjects where id = object_id(N [dbo].[表名] ) and OBJECTPROPERTY(id, N IsUserTable) = 1) — 刪除表 drop table [dbo].[表名] GO ————— —– 列是否存在 IF COL_LENGTH(表名 , 列名) IS NULL PRINT not exists ELSEPRINT exists alter table 表名 drop constraint 默認值名稱 go alter table 表名 drop column 列名 go —– – 判斷要創建臨時表是否存在 If Object_Id(Tempdb.dbo.#Test) Is Not NullBeginprint 存在 EndElseBeginprint 不存在 End————— — 判斷要創建的存儲過程名是否存在 if exists (select * from dbo.sysobjects where id = object_id(N [dbo].[存儲過程名] ) and OBJECTPROPERTY(id, N IsProcedure) = 1) — 刪除存儲過程 drop procedure [dbo].[存儲過程名] GO ————— — 判斷要創建的視圖名是否存在 if exists (select * from dbo.sysobjects where id = object_id(N [dbo].[視圖名] ) and OBJECTPROPERTY(id, N IsView) = 1) — 刪除視圖 drop view [dbo].[視圖名] GO ————— — 判斷要創建的函數名是否存在 if exists (select * from sysobjects where xtype= fn and name= 函數名) if exists (select * from dbo.sysobjects where id = object_id(N [dbo].[函數名] ) and xtype in (N FN , N IF , N TF)) — 刪除函數 drop function [dbo].[函數名] GO if col_length(表名 , 列名) is nullprint 不存在 select 1 from sysobjects where id in (select id from syscolumns where name= 列名) and name= 表名

看完上述內容,你們掌握 sqlserver 中怎么存儲過程判斷是否存在的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計2515字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 怀来县| 都江堰市| 十堰市| 德阳市| 洪湖市| 洛宁县| 崇左市| 宝兴县| 闽侯县| 乐业县| 钟山县| 邹平县| 中江县| 兴宁市| 民权县| 二手房| 介休市| 广丰县| 丹凤县| 博野县| 延庆县| 台东市| 海兴县| 建始县| 岳阳市| 建平县| 张掖市| 赞皇县| 道孚县| 高清| 二连浩特市| 黔西县| 周宁县| 平顶山市| 台南市| 合肥市| 湖口县| 陈巴尔虎旗| 阜阳市| 株洲县| 汉中市|