日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLserver删除某数据库中所有表 方法 二

發(fā)布時(shí)間:2024/4/13 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLserver删除某数据库中所有表 方法 二 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

方便刪除數(shù)據(jù)庫中所有的數(shù)據(jù)表,清空數(shù)據(jù)庫,有些有約束,不能直接delete,需要先刪除庫中的約束,代碼如下:

--刪除所有約束
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 next from c1 into @c1
while(@@fetch_status=0)
begin
exec(@c1)
fetch next from 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ù)庫中的所有表:
如果需要?jiǎng)h除存儲(chǔ)過程等只需要將上面的做如下修改就行了的where xtype='U' 改成 where xtype='P',drop table 改成 drop Procedure

sysobjects的xtype代表含義:

在數(shù)據(jù)庫內(nèi)創(chuàng)建的每個(gè)對象(約束、默認(rèn)值、日志、規(guī)則、存儲(chǔ)過程等)在表中占一行。只有在 tempdb 內(nèi),每個(gè)臨時(shí)對象才在該表中占一行。?

列名 數(shù)據(jù)類型 描述?
name sysname 對象名。?
Id int 對象標(biāo)識(shí)號。?
xtype char(2) 對象類型。可以是下列對象類型中的一種:?
C = CHECK 約束?
D = 默認(rèn)值或 DEFAULT 約束?
F = FOREIGN KEY 約束?
L = 日志?
FN = 標(biāo)量函數(shù)?
IF = 內(nèi)嵌表函數(shù)?
P = 存儲(chǔ)過程?
PK = PRIMARY KEY 約束(類型是 K)?
RF = 復(fù)制篩選存儲(chǔ)過程?
S = 系統(tǒng)表?
TF = 表函數(shù)?
TR = 觸發(fā)器?
U = 用戶表?
UQ = UNIQUE 約束(類型是 K)?
V = 視圖?
X = 擴(kuò)展存儲(chǔ)過程?

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)識(shí)號(例如,對于觸發(fā)器或約束,該標(biāo)識(shí)號為表 ID)。?
crdate datetime 對象的創(chuàng)建日期。?
ftcatid smallint 為全文索引注冊的所有用戶表的全文目錄標(biāo)識(shí)符,對于沒有注冊的所有用戶表則為 0。?
schema_ver int 版本號,該版本號在每次表的架構(gòu)更改時(shí)都增加。?
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 = 存儲(chǔ)過程?
R = 規(guī)則?
RF = 復(fù)制篩選存儲(chǔ)過程?
S = 系統(tǒng)表?
TF = 表函數(shù)?
TR = 觸發(fā)器?
U = 用戶表?
V = 視圖?
X = 擴(kuò)展存儲(chǔ)過程?
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)識(shí)。?
cache smallint 保留。 ?

轉(zhuǎn)載于:https://www.cnblogs.com/accumulater/p/6077496.html

總結(jié)

以上是生活随笔為你收集整理的SQLserver删除某数据库中所有表 方法 二的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。