공부 자료/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