입력받은 seq 보다 작은 seq의 데이터들을 999개씩 지우는 프로시저 :)



USE [OKNETV2_WEB]

GO

/****** Object:  StoredProcedure [dbo].[delete_proc]    Script Date: 09/10/2013 14:03:33 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author: <Author,,Name>

-- Create date: <Create Date,,>

-- Description: <Description,,>

-- =============================================

ALTER PROCEDURE [dbo].[delete_proc]

 @seq int

AS

while @seq > 0

BEGIN

delete from ODTG_DETAIL 

where SEQ>(@seq -1000) and SEQ < @seq


set @seq = @seq - 1000


END



약 천 육백만개의 데이터를 지워야 하는데..


디비 부하때문에 천개씩 지워야 하는상황 :(


천개씩 몇번 하다보니 이건 아니다 싶어서.... 


그래서 저장 프로시저를 만들었다. 


사실 프로시저 안에서 반복문이 돌아가는건 안좋은 거랜다. 


밖의 실행문에서 반복하여 프로시저를 실행해야 옳다고 하니 참고 할 것.