歷史資料轉移

2021-05-10 15:32:13 字數 2103 閱讀 6981

/*

--作用:歷史資料轉移

--兩種方法:方法1.重建表   方法2.歷史資料匯入其他表

--李海軍

--2009.11.12

*/--方法1.重建表

exec   sp_rename   'taga_talkin_record_back',   'taga_talkin_record_back_delafter3mon'  --修改表名

grant all on taga_talkin_record_back to sap  --賦權

--步驟2.建立配置表

create table [dbo].[backupbigtab] (

[id] [int] null ,

[oldtab] [varchar] (100) collate chinese_prc_ci_as null ,

[newtab] [varchar] (100) collate chinese_prc_ci_as null ,

[oldclo] [varchar] (500) collate chinese_prc_ci_as null ,

[newclo] [varchar] (500) collate chinese_prc_ci_as null ,

[backuptime] [varchar] (50) collate chinese_prc_ci_as null ,

[ip] [varchar] (100) collate chinese_prc_ci_as null ,

[isbackup] [int] null

) on [primary]

go--步驟4.建立儲存過程

--lihaijun

create procedure [dbo].[pro_backupbigtab] as

declare @oldtab varchar(100),@newtab varchar(100),@oldclo varchar(500),@newclo varchar(500),@backuptime varchar(50),@id int,@c int,@sqla varchar(1000),@sqlb varchar(1000),@sqlc varchar(1000),@ip varchar(100)

select @c=count(*) from backupbigtab

set @id=1

while @id<=@c

begin

select @oldtab=oldtab,@newtab=newtab,@oldclo=oldclo,@newclo=newclo,@backuptime=backuptime,@ip=ip from backupbigtab where id=@id

set @sqla='insert into '+@newtab+'('+@newclo+') select '+@oldclo+' from '+@oldtab+' where '+@backuptime+'

set @sqlc='insert into '+@ip+@newtab+'('+@newclo+') select '+@oldclo+' from '+@oldtab+' where '+@backuptime+'

set @sqlb='delete from '+@oldtab+' where '+@backuptime+'

exec (@sqla)

exec (@sqlc)

exec (@sqlb)

set @id=@id+1

end--步驟5.建立作業

exec pro_backupbigtab

--步驟6.檢視備份結果

select * from backupbigtab

select top 10 * from gr_sendsms_status_back order by createtime desc

select top 10 * from gr_sendsms_status order by createtime

select top 10 * from taga_talkin_record0 order by endtime

select top 10 * from taga_talkin_record0_back order by endtime desc

mysql歷史資料 mysql 歷史資料表遷移方案

當業務執行一段時間後,會出現有些表資料量很大,可能對系統效能產生不良的影響,常見的如訂單表 登入log表等,這些資料很有時效性,比如我們一般很少去查上個月的訂單,最多也就是報表統計會涉及到。在我們的資料庫中,使用者登入表就是這種型別的表,一般而言,表中的資料是不可逆的,只有插入操作沒有刪除或者修改操...

使用Envers查詢歷史資料

用envers查詢歷史資料步驟 auditreader auditreader auditreade ctory.get sessionfactory.getcurrentsession 查詢account某個版本的歷史資料,結果集為accountimpl的list auditquery query...

mysql 刪除 zabbix歷史資料

zabbix伺服器報警 zabbix housekeeper processes more than 75 busy 原因分析說明 處理方法 vim etc zabbix zabbix server.conf housekeepingfrequency 12 原值是每一小時清理一次,建議改為12或2...