新聞中心
SQLserver中怎么刪除某數(shù)據(jù)庫的所有表,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、興安盟網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為興安盟等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
方便刪除數(shù)據(jù)庫中所有的數(shù)據(jù)表,清空數(shù)據(jù)庫,有些有約束,不能直接delete,需要先刪除庫中的約束,代碼如下復(fù)制代碼 代碼如下: --刪除所有約束 DECLARE c1 cursor for select'alter table ['+ object_name(parent_obj)+'] drop constraint ['+name+']; ' from sysobjects where xtype ='F' open c1 declare @c1 varchar(8000) fetch nextfrom c1 into@c1 while(@@fetch_status=0) begin exec(@c1) fetch nextfrom c1 into@c1 end close c1 deallocate c1 --刪除數(shù)據(jù)庫所有表 declare @tname varchar(8000) set@tname='' select@tname=@tname+Name+','from sysobjects where xtype='U' select@tname='drop table '+ left(@tname,len(@tname)-1) exec(@tname)
然后清空數(shù)據(jù)庫中的所有表: 如果需要刪除存儲過程等只需要將上面的做如下修改就行了的where xtype='U' 改成 where xtype='P',drop table 改成 drop Procedure sysobjects的xtype代表含義: 在數(shù)據(jù)庫內(nèi)創(chuàng)建的每個對象(約束、默認(rèn)值、日志、規(guī)則、存儲過程等)在表中占一行。只有在 tempdb 內(nèi),每個臨時對象才在該表中占一行。 列名 數(shù)據(jù)類型 描述 name sysname 對象名。 Id int 對象標(biāo)識號。 xtype char(2) 對象類型。可以是下列對象類型中的一種: C = CHECK 約束 D = 默認(rèn)值或 DEFAULT 約束 F = FOREIGN KEY 約束 L = 日志 FN = 標(biāo)量函數(shù) IF = 內(nèi)嵌表函數(shù) P = 存儲過程 PK = PRIMARY KEY 約束(類型是 K) RF = 復(fù)制篩選存儲過程 S = 系統(tǒng)表 TF = 表函數(shù) TR = 觸發(fā)器 U = 用戶表 UQ = UNIQUE 約束(類型是 K) V = 視圖 X = 擴(kuò)展存儲過程 uid smallint 所有者對象的用戶 ID。 info smallint 保留。僅限內(nèi)部使用。 status int 保留。僅限內(nèi)部使用。 base_schema_ ver int 保留。僅限內(nèi)部使用。 replinfo int 保留。供復(fù)制使用。 parent_obj int 父對象的對象標(biāo)識號(例如,對于觸發(fā)器或約束,該標(biāo)識號為表 ID)。 crdate datetime 對象的創(chuàng)建日期。 ftcatid smallint 為全文索引注冊的所有用戶表的全文目錄標(biāo)識符,對于沒有注冊的所有用戶表則為 0。 schema_ver int 版本號,該版本號在每次表的架構(gòu)更改時都增加。 stats_schema_ ver int 保留。僅限內(nèi)部使用。 type char(2) 對象類型。可以是下列值之一: C = CHECK 約束 D = 默認(rèn)值或 DEFAULT 約束 F = FOREIGN KEY 約束 FN = 標(biāo)量函數(shù) IF = 內(nèi)嵌表函數(shù) K = PRIMARY KEY 或 UNIQUE 約束 L = 日志 P = 存儲過程 R = 規(guī)則 RF = 復(fù)制篩選存儲過程 S = 系統(tǒng)表 TF = 表函數(shù) TR = 觸發(fā)器 U = 用戶表 V = 視圖 X = 擴(kuò)展存儲過程 userstat smallint 保留。 sysstat smallint 內(nèi)部狀態(tài)信息。 indexdel smallint 保留。 refdate datetime 留作以后使用。 version int 留作以后使用。 deltrig int 保留。 instrig int 保留。 updtrig int 保留。 seltrig int 保留。 category int 用于發(fā)布、約束和標(biāo)識。 cache smallint 保留。
看完上述內(nèi)容,你們掌握SQLserver中怎么刪除某數(shù)據(jù)庫的所有表的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章名稱:SQLserver中怎么刪除某數(shù)據(jù)庫的所有表
鏈接分享:http://www.ef60e0e.cn/article/jjopgj.html