国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQLserver刪除某數據庫中所有表實現思路

2024-08-31 00:44:22
字體:
來源:轉載
供稿:網友

方便刪除數據庫中所有的數據表,清空數據庫,有些有約束,不能直接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 nextfrom c1 into@c1
while(@@fetch_status=0)
begin
exec(@c1)
fetch nextfrom c1 into@c1
end
close c1
deallocate c1
--刪除數據庫所有表
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)


然后清空數據庫中的所有表:
如果需要刪除存儲過程等只需要將上面的做如下修改就行了的where xtype='U' 改成 where xtype='P',drop table 改成 drop Procedure

sysobjects的xtype代表含義:

在數據庫內創建的每個對象(約束、默認值、日志、規則、存儲過程等)在表中占一行。只有在 tempdb 內,每個臨時對象才在該表中占一行。

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

uid smallint 所有者對象的用戶 ID。
info smallint 保留。僅限內部使用。
status int 保留。僅限內部使用。
base_schema_
ver int 保留。僅限內部使用。
replinfo int 保留。供復制使用。
parent_obj int 父對象的對象標識號(例如,對于觸發器或約束,該標識號為表 ID)。
crdate datetime 對象的創建日期。
ftcatid smallint 為全文索引注冊的所有用戶表的全文目錄標識符,對于沒有注冊的所有用戶表則為 0。
schema_ver int 版本號,該版本號在每次表的架構更改時都增加。
stats_schema_
ver int 保留。僅限內部使用。
type char(2) 對象類型。可以是下列值之一:
C = CHECK 約束
D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束
FN = 標量函數
IF = 內嵌表函數
K = PRIMARY KEY 或 UNIQUE 約束
L = 日志
P = 存儲過程
R = 規則
RF = 復制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 用戶表
V = 視圖
X = 擴展存儲過程
userstat smallint 保留。
sysstat smallint 內部狀態信息。
indexdel smallint 保留。
refdate datetime 留作以后使用。
version int 留作以后使用。
deltrig int 保留。
instrig int 保留。
updtrig int 保留。
seltrig int 保留。
category int 用于發布、約束和標識。
cache smallint 保留。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汕尾市| 通山县| 曲周县| 剑阁县| 汝阳县| 河津市| 铁力市| 溆浦县| 南乐县| 五河县| 雅安市| 盐山县| 宁都县| 大名县| 同仁县| 鹤岗市| 高邮市| 丰城市| 江达县| 浠水县| 广昌县| 闸北区| 白沙| 嘉定区| 平安县| 嵩明县| 大安市| 平利县| 石家庄市| 永顺县| 轮台县| 淮滨县| 昌江| 乌什县| 大荔县| 荔波县| 明水县| 阿克| 山西省| 山阳县| 崇明县|