begin tran
DECLARE @week_num int
DECLARE @ID int
DECLARE @CRSNO int
DECLARE @date1 char(8)
DECLARE @date2 char(8)
DECLARE @date3 char(8)
DECLARE @date4 char(8)
DECLARE @date5 char(8)
set @date1='20090112'
set @date2='20090113'
set @date3='20090114'
set @date4='20090115'
set @date5='20090116'
set @KIKAKUID = 2040101
set @CRSNO = 2401
SET @week_num = 0
-- Test the variable to see if the loop is finished.
WHILE (@week_num < 21)
BEGIN
update [tablename]
set KIKAKUID = 'BP' + CONVERT(char, @KIKAKUID)
where CRSNO = CONVERT(char, @CRSNO)
and LVDTE = @date1
SET @KIKAKUID = @KIKAKUID + 1
update [tablename]
set KIKAKUID = 'BP' + CONVERT(char, @KIKAKUID)
where CRSNO = CONVERT(char, @CRSNO)
and LVDTE BETWEEN @date2 and @date3
SET @KIKAKUID = @KIKAKUID + 1
update [tablename]
set KIKAKUID = 'BP' + CONVERT(char, @KIKAKUID)
where CRSNO = CONVERT(char, @CRSNO)
and LVDTE BETWEEN @date4 and @date5
SET @KIKAKUID = @KIKAKUID + 1
SET @CRSNO = @CRSNO + 1
set @date1=CONVERT(CHAR, dateadd(mm,1,@date1), 112)
set @date2=CONVERT(CHAR, dateadd(mm,1,@date2), 112)
set @date3=CONVERT(CHAR, dateadd(mm,1,@date3), 112)
set @date4=CONVERT(CHAR, dateadd(mm,1,@date4), 112)
set @date5=CONVERT(CHAR, dateadd(mm,1,@date5), 112)
set @week_num = @week_num + 1
END
GO
select * from T_OGMST
rollback tran

