select top 100 * from bit_salepart_price_history where bus_plc_cd='KOR'
sale_part_no= '123456|0020' degree 1-5
sale_part_no= '234567|0021' degree 1-2
밑에 있는 쿼리는 하나의 sale part no에 대한 degree 를 이용해 작업하는데
여러 sale part no 의 degree를 이용해 날짜를 넣는건데
반복적으로 모든 sale part no를 하려면 어떻게 해야되나요
declare @err_msg varchar(10), @err_location varchar(10)
declare @xloop int , @yloop int
declare @price_reg_dt varchar(10)
set @xloop =1
select @yloop=MAX(degree) from bit_salepart_price_history where bus_plc_cd='KOR' and sale_part_no=123456|0020'
while @xloop <=@yloop begin
select @price_reg_dt=convert(varchar(08),dateadd(dd, -1, price_reg_dt),112) from bit_salepart_price_history
where 1 = 1
and bus_plc_cd='KOR' and sale_part_no='123456|0020'
and degree =@xloop+1
update a set
a.close_dt=@price_reg_dt
from bit_salepart_price_history a
where 1 = 1
and a.bus_plc_cd='KOR' and a.sale_part_no='123456|0020'
and a.degree =@xloop
set @xloop=@xloop+1
while @xloop = @yloop begin
update a set
a.close_dt ='99991231'
from bit_salepart_price_history a
where 1 = 1
and a.bus_plc_cd='KOR'and a.sale_part_no='`123456|0020'
and a.degree =@yloop
set @xloop=@xloop+1
end
end
Comment 1
-
처리짱
2015.09.02 20:21
while 안에 또 while가 있는건가요?
하시려는 의도가 이해가 잘안되네요..
좀 구체적으로 질문을 하시면 많은 분들이 답변을 드릴거 같은데요..