亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-07-28 14:29:41 來源:億速云 閱讀:1176 作者:Leah 欄目:數據庫

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中怎么存儲過程判斷是否存在的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桓仁| 莱阳市| 宜宾市| 浪卡子县| 桃园市| 建昌县| 崇文区| 长兴县| 明水县| 扎赉特旗| 盐山县| 宜州市| 上思县| 晋城| 滨州市| 宽城| 浙江省| 仁寿县| 扎兰屯市| 田东县| 化隆| 莲花县| 资源县| 商洛市| 大港区| 四平市| 科技| 兴隆县| 灵武市| 澎湖县| 林周县| 宜良县| 玉环县| 平泉县| 南宁市| 安阳市| 宝坻区| 柘城县| 柯坪县| 丰城市| 白玉县|