개발/SQL

[mssql] 백업테이블로 데이터 보존하기

카레공 2022. 12. 20. 23:00

-중요한 테이블을 CRUD테스트 해야할 때 백업 테이블을 생성해서 데이터를 보존하는게 좋다

1. 백업 테이블 생성

select *
into TB_LOCATION_INSPECTION_DTL_tmp //아무테이블 생성 
from TB_LOCATION_INSPECTION_DTL (nolock)
select *
from TB_LOCATION_INSPECTION_DTL_tmp

그리고 다시 데이터 올리기

insert into TB_LOCATION_INSPECTION_DTL 
select *
from TB_LOCATION_INSPECTION_DTL_tmp

자동채번(ex. stock_no)이 걸려있을경우 나머지를 걸어줘서 자동채번으로 생성되도록 한다.

select * 
from TB_LOCATION_INSPECTION_DTL (nolock)

select *
from TB_LOCATION_INSPECTION_DTL_tmp (nolock)

--1.테이블 복사 
select *
into TB_LOCATION_INSPECTION_DTL_tmp --아무테이블 생성 
from TB_LOCATION_INSPECTION_DTL (nolock)

--2. 기존 데이터 삭제하기 
--delete 
--from TB_LOCATION_INSPECTION_DTL

--3. 데이터 백업파일에서 받아오기 
insert into TB_LOCATION_INSPECTION_DTL (loc_no,prod_cd,loc_type,seq,loc_seq,loc_nm,brand_cd
,qty,hold_qty,loc_barcode,exp_date,remk,waiting_qty,stp,rgst_user,rgst_dtme,updt_user,updt_dtme,comp_cd,final_qty)
select loc_no,prod_cd,loc_type,seq,loc_seq,loc_nm,brand_cd
,qty,hold_qty,loc_barcode,exp_date,remk,waiting_qty,stp,rgst_user,rgst_dtme,updt_user,updt_dtme,comp_cd,final_qty
from TB_LOCATION_INSPECTION_DTL_tmp

--4. 백업 테이블 삭제하기 
--from TB_LOCATION_INSPECTION_DTL_tmp