개발하자

[ORACLE] SQL 기초문법 정리 5편(COMMIT, ROLLBACK, SAVEPOINT) 본문

DATABASES/ORACLE︲TIBERO

[ORACLE] SQL 기초문법 정리 5편(COMMIT, ROLLBACK, SAVEPOINT)

개발리미 2023. 12. 12. 10:17
728x90

SQL( Structured Query Language)는 크게 DQL, DDL, DCL, DML, TCL 로 분류 됩니다.

오늘은 그 분류 중 TCL 기초문법 정리 입니다.

 

TCL( Transaction Control Language ) - 트랜잭션 제어어

  • DML은 트랜잭션 데이터의 영구 저장, 취소 등의 명령어입니다.
  • 명령어 : COMMIT, ROLLBACK, SAVEPOINT

 

 ▼ 예제  

1) 커밋(COMMIT)

- 보류중인 모든 데이터 변경사항을 영구적으로 적용, 현재 트랜잭션 종료

-- 1. 트랜잭션 작업 시작(임의의 DML 작업 시행)
INSERT INTO TALBE명 VALUES (데이터1, 데이터2);

-- 2. 저장
COMMIT;

-- 오코커밋으로 설정해뒀을 경우 COMMIT을 따로 실행하지 않아도 된다.
-- 하지만 실수를 했을 경우 돌릴 수 있기때문에 COMMIT을 수동으로 설정하는게 좋다.

 

2) 롤백 (ROLLBACK)

- 보류중인 모든 데이터 변경사항을 폐기, 현재 트랜잭션 종료, 직전 커밋 직후의 단계로 회귀(되돌아가기) 

-- 1. 커밋할 데이터
INSERT INTO TALBE명 VALUES (데이터1, 데이터2);

-- 2. 저장
COMMIT;

-- 3. 되돌릴 데이터
INSERT INTO TALBE명 VALUES (데이터1, 데이터2);

-- 4. 되돌리기
ROLLBACK;

-- ROLLBACK은 COMMIT 직 후로 돌아간다.
-- 위에서 INSERT로 삽입을 2번했지만 2번째 삽입은 COMMIT 전에 ROLLBACK을 했으므로
-- 처음 삽입한 데이터만 생성된다.

 

2) 세이브포인트 (SAVEPOINT)

- 롤백할 포인트 지정(세이브포인트)

-- 1. 데이터 삭제
DELETE FROM TALBE명 WHERE 컬럼1 = '사원';

-- 2. 세이브 포인트(SAVE1로 세이브 포인트 지정)
SAVEPOINT SAVE1

-- 3. 데이터 삭제
DELETE FROM TALBE명 WHERE 컬럼1 = '주임';

-- 4. 세이브 포인트(SAVE2로 세이브 포인트 지정)
SAVEPOINT SAVE2

-- 5. SAVEPOINT의 SAVE1로 돌아가기
ROLLBACK TO SAVE1;

-- ROLLBACK으로 지정한 SAVE1로 돌아가면 '주임'을 삭제하기 이전으로 되돌아간다.

 


기초문법 정리

 

DQL( Data Query Language )

 

[SQL] SQL 기초문법 정리 1편 (SELECT)

SQL( Structured Query Language)는 크게 DQL, DDL, DCL, DML, TCL 로 분류 됩니다. 오늘은 그 분류 중 DQL 기초문법 정리 입니다. 1. DQL( Data Query Language ) DQL은 테이블의 데이터를 조회하는 명령어입니다. 명령어 :

hayleyun.tistory.com

 

DCL( Data Control Language ) - 데이터 제어어

 

[ORACLE] SQL 기초문법 정리 2편 (CREATE, ALTER, DROP)

SQL( Structured Query Language)는 크게 DQL, DDL, DCL, DML, TCL 로 분류 됩니다. 오늘은 그 분류 중 DDL 기초문법 정리 입니다. DDL( Data Definition Language ) - 데이터 정의어 DDL은 테이블을 포함한 여러 객체를 생성,

hayleyun.tistory.com

 

DML( Data Manipulation Language ) - 데이터 조작어

 

[ORACLE] SQL 기초문법 정리 3편 (GRANT, REVORK)

SQL( Structured Query Language)는 크게 DQL, DDL, DCL, DML, TCL 로 분류 됩니다. 오늘은 그 분류 중 DCL 기초문법 정리 입니다. DCL( Data Control Language ) - 데이터 제어어 DCL은 데이터 사용 권한 부여 및 취소를 하

hayleyun.tistory.com


DML( Data Manipulation Language ) - 데이터 조작어

 

[ORACLE] SQL 기초문법 정리 4탄(INSERT, UPDATE, DELETE)

SQL( Structured Query Language)는 크게 DQL, DDL, DCL, DML, TCL 로 분류 됩니다. 오늘은 그 분류 중 DML 기초문법 정리 입니다. DML( Data Manipulation Language ) - 데이터 조작어 DML은 테이블의 데이터를 저장, 수정, 삭

hayleyun.tistory.com

 

 


공부하면서 유용했던 부분 메모겸 공유하고자 끄적입니다.

고쳐야하는 부분있다면 댓글 남겨주시면 수정하겠습니다.

행복한 하루 보내세요 (❁´◡`❁)

728x90
반응형