SQL Server删除整个数据库中表数据的方法(不影响表结构)


1.查看数据库中所有表名称:

  select Name  from sysobjects where xtype='U' order by name asc;

  sysobjects是系统表,关于SQL Server数据库的一切信息都保存在系统表中

2.删除整个数据库表数据:

declare c cursor for   --定义游标
select NAME from sysobjects where xtype='U'
declare @t varchar(20)
open c
fetch next from c into @t
while @@FETCH_STATUS=0
begin
print @t

exec('truncate table '+@t)
--exec('delete from '+@t)
fetch next from c into @t
end
close c

xtype char(2) 对象类型。常用列。xtype可以是下列对象类型中的一种: 
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 = 扩展存储过程

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM