ERDS网校 - ERDS企业自主信息化培训,交流

查看: 335|回复: 0

清空所有数据

[复制链接]

80

主题

87

帖子

315

积分

版主

Rank: 7Rank: 7Rank: 7

积分
315
发表于 2015-11-27 11:08:10 | 显示全部楼层 |阅读模式
--清空所有数据
create proc proc_emptydata
as
set nocount on
begin

--清空所有主数据表
--定义变量表存储所有主数据表和流程表
declare @temp table(id int identity(1,1),tname varchar(10))
--插入主数据表
insert into @temp(tname)
select distinct dtable from dfd a inner join (select name from sysobjects where xtype='U') b on a.dtable=b.name
--插入流程表
insert into @temp(tname)
select distinct wname from dfp a inner join (select name from sysobjects where xtype='U') b on a.pname=b.name
--插入备份表
insert into @temp(tname)
select distinct wname+'_bak'  from dfp a inner join (select name from sysobjects where xtype='U') b on a.wname+'_bak'=b.name
--插入流程队列表'dfq'
insert into @temp(tname)
select 'dfq'
--插入表dbh_加流程号(记录每一个单据的开始时间和结束时间)
insert into @temp(tname)
select [name] from sysobjects where [name] like 'dbh_%'
--插入流程队列数据表DFT
insert into @temp(tname)
select 'DFT'
--插入附件表
insert into @temp(tname)
select 'duf'



--定义变量存储清空语句
declare @str varchar(max)
declare @i int
set @i=1
while (@i<=(select max(id) from @temp))
begin
set @str='truncate table '+(select tname from @temp where id=@i)
exec (@str)
set @i=@i+1
end

end

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ERDS网校   点击这里给我发消息

快速回复 返回顶部 返回列表