[SQL] 099. 실수로 지운 데이터 복구하기

Updated:

초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.

오라클 SQL을 기반으로 합니다.

실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.


[기본 옵션]

-- AUTOCOMMIT 끄기
SET AUTOCOMMIT OFF;

-- 날짜 출력 포맷 변경
ALTER SESSION SET NLS_DATE_FORMAT = 'RRRR-MM-DD';

[예시]

데이터가 변경되었을 때 과거 시점의 데이터를 조회해보자.

우선 KING의 SAL(월급)을 0으로 수정하여 조회한다.

-- 데이터 수정
UPDATE EMP
SET SAL = 0
WHERE ENAME = 'KING';

COMMIT;

-- 수정 후 데이터 확인
SELECT ENAME, SAL
FROM EMP
WHERE ENAME = 'KING';

[결과]

ENAME SAL
KING 0

AS OF TIME STAMP를 이용해서 5분 전 데이터를 확인 가능하다.

-- 과거 5분 전 데이터 확인
SELECT ENAME, SAL
FROM EMP
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '5' MINUTE)
-- 시간 지정해도 가능
-- AS OF TIMESTAMP '2021-06-30 23:10:00'
WHERE ENAME = 'KING';

[결과]

과거 시점으로 수정 전 데이터가 출력되었다.

ENAME SAL
KING 5000

Tags:

Categories:

Updated:

Leave a comment