用不着循环的。不过你的说法有点模糊:将30天以前一天的记录转移到第二个表中。
在存储过程里放下面两条语句:
insert into table1_old select * from table1 where date_field<convert(char(8),dateadd(dd,-29,getdate()),112) and date_field>=convert(char(8),dateadd(dd,-30,getdate()),112)insert into table2_old select table2.* from table1,table2 where table1.date_field<convert(char(8),dateadd(dd,-29,getdate()),112) and table1.date_field>=convert(char(8),dateadd(dd,-30,getdate()),112) and
table2.table1ID=table1.ID