프로시저 내용 입니다


ALTER PROC [dbo].[threeMonthAfter_Delete_cdata]
AS


BEGIN
-- BEGIN TRAN
declare
@Sql varchar(4000)
,@strMonth varchar(6)

Set @strMonth = Replace(convert(varchar(7),DateAdd("m",-4,getdate()),120),"-","")


Set @Sql = "if not exists (select * from dbo.sysobjects where name = ""cdata_"+ @strMonth +""")
begin
CREATE TABLE [dbo].[cdata_"+ @strMonth +"] (
[oidNo] [int] NOT NULL ,
[seq] [int] NOT NULL ,
[comid] [int] NOT NULL ,
[siteid] [int] NULL ,
[keyid] [int] NULL ,
[skind] [int] NULL ,
[regdate] [datetime] NOT NULL ,
[nowip] [varchar] (15) COLLATE Korean_Wansung_CI_AS NULL ,
[uncd] [varchar] (20) COLLATE Korean_Wansung_CI_AS NULL ,
[usecode] [varchar] (1) COLLATE Korean_Wansung_CI_AS NOT NULL
) ON [PRIMARY]
end"
Exec(@Sql)

Set @Sql = "
declare
@strMinDate varchar(20)
Set @strMinDate = (Select dateadd(day,-1,min(regdate)) from cdata)
while(@strMinDate < getdate() -90)
begin
insert into [cdata_"+ @strMonth +"]
(
oidNo
,seq
,comid
,siteid
,keyid
,skind
,regdate
,nowip
,uncd
,usecode
)
select
oidNo
,seq
,comid
,siteid
,keyid
,skind
,regdate
,nowip
,uncd
,usecode
from cdata where regdate < @strMinDate
delete from cdata where regdate < @strMinDate

set @strMinDate = dateadd(day,1,@strMinDate)
end"

exec @Sql
/*
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
RETURN
END
COMMIT TRAN
*/
END




90일이 지난 데이터는 백업 테이블에 백업후 삭제 하려는 내용입니다

그런데 프로시저 뭐가 잘못된건지 실행 시키면 에러가 나는데 무슨 에러인지를 못찾겠네요

다른 방법이 있으면 좀 알려주세요..;;





==================== 에러 내용

메시지 203, 수준 16, 상태 2, 프로시저 threeMonthAfter_Delete_cdata, 줄 70
"
declare
@strMinDate varchar(20)
Set @strMinDate = (Select dateadd(day,-1,min(regdate)) from cdata)
while(@strMinDate < getdate() -90)
begin
insert into [cdata_200906]
(
oidNo
,seq
,comid
,siteid
,keyid
,skind
,regdate
,nowip
,uncd
,usecode
)
select
oidNo
,seq
,comid
,siteid
,keyid
,skind
,regdate
,nowip
,uncd
...