1 Use [EPPM]2 GO3 /** * * * object:storedprocedure [dbo]. [Refrdel_cleanup] Script DATE:2016/4/2 16:32:29 * * * * **/4 SETAnsi_nulls on5 GO6 SETQuoted_identifier on7 GO8 ALTER PROCEDURE [dbo].[Refrdel_cleanup]9(@pret_val integerOUTPUT,@pret_msg varchar( +) OUTPUT) as Ten Declare @curr_time datetime One Declare @vdiff integer A Declare @vinterval_date datetime - Declare @vset varchar( -) - Declare @vsetnum integer the Declare @min_refrdel_date datetime - Declare @delete_target datetime - Declare @max_minutes_to_sweep integer - Declare @interval_step integer + Declare @cnt integer - Declare @i integer + Declare @total_cleared integer A beginTry at Set @curr_time=getdate() - Set @cnt=0 - Set @i=1 - Set @pret_val=0 - Set @total_cleared=0 - execSettings_read_number@max_minutes_to_sweepOUTPUT,'Database.cleanup.Refrdel','Daystodelete',1 in execSettings_read_number@interval_stepOUTPUT,'Database.cleanup.Refrdel','Intervalstep', the - execSettings_read_string@vsetOUTPUT,'Database.cleanup.Refrdel','Keepinterval','5d' to Set @max_minutes_to_sweep=@max_minutes_to_sweep*1440 + execGet_interval_difference@vset,@vdiffOUTPUT - Set @vinterval_date = @curr_time-@vdiff the Print 'Keep Date:' + Convert(varchar( -),@vinterval_date) * Select @min_refrdel_date=min(delete_date) fromRefrdel $ Print 'oldest Refrdel:' + Convert(varchar( -),@min_refrdel_date)Panax Notoginseng Set @delete_target = @min_refrdel_date - if @min_refrdel_date is not NULL the begin + Set @total_cleared=0 A while(@i <= @max_minutes_to_sweep and @delete_target < @vinterval_date ) the begin + Set @delete_target=DateAdd(MI,@interval_step,@delete_target) - Delete fromRefrdelwhereDelete_date< @delete_target $ Set @total_cleared= @total_cleared +@ @rowcount $ Set @i=@i+@interval_step - End - End the Else - Print 'Nothing to Delete'Wuyi Set @pret_val =@total_cleared the Set @pret_msg='cleared:' + LTrim(Str(@pret_val))+ 'Records from' + Convert(varchar( -),@min_refrdel_date)+' to' + Convert(varchar( -),@delete_target) - Print @pret_msg Wu EndTry - BeginCatch About Set @pret_val=error_number () $ Set @pret_msg=error_message () - EndCatch
use [EPPM] [dbo]. [Refrdel_cleanup]