공부 자료/SQL

트랜젝션 제어어(TCL)

뚜루뚜루세니 2021. 7. 5. 06:41
728x90

트랜젝션 제어어(DCL)

트랜젝션 제어어는 데이터조작어(DML) 명령어 실행, 취소, 임시저장할 때 사용하는 명령어 입니다.

 

트랜젝션(Transaction)

트랜젝션은 분할할 수 없는 최소 단위이며, 논리적인 작업 단위입니다.

실행(COMMIT), 취소(ROLLBACK)

-실행(COMMIT) :모든 작업을 최종 실행-취소(ROLLBACK):모든 작업을 되돌림

임시저장(SAVEPOINT)

임시저장은 rollback 저장점을 지정하는 명령어,  

즉, 원하는 지점으로 rollback할 수 있다는 것을 의미한다.

* 실습 * 

use practice; /*데이터베이스 사용*/


/*회원테이블 존재할 시 회원테이블 삭제 */
DROP table 회원테이블;

/*테이블 생성(CREATE)*/
create table 회원테이블(
회원번호 INT PRIMARY KEY,
이름 varchar(20),
가입일자 DATE NOT NULL,
수신동의 BIT
);

/*회원테이블 조회*/
select * from 회원테이블;

/*취소(rollback)*/

/*트랜젝션 시작*/
begin;

/*데이터 삽입*/
insert into 회원테이블 values(1001, '홍길동','2020-01-02',1);

/*회원테이블 조회*/
select * from 회원테이블;

/*취소*/
rollback;

/*회원테이블 조회*/
select * from 회원테이블;

/*실행(commit)*/

/*트랜젝션 시작*/
begin;

/*데이터 삽입*/
insert into 회원테이블 values(1005, '장보고','2020-01-06',1);

/*실행*/
commit;

/*회원테이블 조회*/
select * from 회원테이블;

/*임시 저장*/

/*회원테이블 존재할 시 회원테이블 삭제 */
delete from 회원테이블;

/*회원테이블 조회*/
select * from 회원테이블;

/*트랜젝션 시작*/
begin;

/*데이터 삽입*/
insert into 회원테이블 values(1005, '장보고','2020-01-06',1);

/*savapoint 저장*/
savepoint s1;

/* 1005 회원 이름 수정 */
update 회원테이블
	SET 이름 = '이순신';
    
/*savapoint 저장*/
savepoint s2;

/*1005 회원 데이터 삭제*/
delete from 회원테이블;

/*savapoint 저장*/
savepoint s3;

/*회원테이블 조회*/
select * from 회원테이블;

/*savepoint s2로 rollback*/
rollback to s2;

/*회원테이블 조회*/
select * from 회원테이블;

* 본 내용은 부스트코스-기초 데이터 분석을 위한 핵심 sql 강의를 바탕을 작성되었습니다.*

728x90