package itn.let.mjo.scheduler.service;

import itn.let.mjo.msg.service.MjonMsgVO;

public interface MjonMsgDataBackupService {
	/*	생성대상 테이블 명 만들기*/
	MjonMsgVO selectBackupTableName(MjonMsgVO mjonMsgVO) throws Exception;
	
	/*	생성대상 테이블 확인 하기*/
	MjonMsgVO selectBackupTable(MjonMsgVO mjonMsgVO) throws Exception;
		
	/*	대상 테이블 생성하기*/
	void insertCreateTable(MjonMsgVO mjonMsgVO) throws Exception;

	/*	대상 테이블 생성하기*/
	void insertCreateTableWithTableCopy(MjonMsgVO mjonMsgVO) throws Exception;	

	/*	데이터 삭제*/
	void deleteToBackupTable(MjonMsgVO mjonMsgVO) throws Exception;
	
	/*	데이터 삭제하고, 넣기 transaction*/
	void insertToBackupTable(MjonMsgVO mjonMsgVO) throws Exception;
	
	/*	데이터 삭제하고, 넣기 transaction*/
	void deleteNinsertToBackupTable(MjonMsgVO mjonMsgVO) throws Exception;
	
	/*	2년전 데이터는 삭제*/
	void deleteToOriginTable(MjonMsgVO mjonMsgVO) throws Exception;
	
	/*	2년전 데이터는 삭제 일자별로 삭제*/
	void deleteToOriginTableWithDay(MjonMsgVO mjonMsgVO) throws Exception;
	
	/*	대상 테이블 drop 시키기*/
	void deleteDropTable(MjonMsgVO mjonMsgVO) throws Exception;
}
