Page 24 -
P. 24
면 데이터가 모두 사라져서 돌이킬 수 없습니다. 반면 DELETE는 조건에 맞는 데
이터만 선별해 삭제할 수 있으며, 잘못 삭제했다고 판단되면 삭제 이전 시점으
로 복원할 수 있습니다. 따라서 데이터를 삭제할 때는 DELETE 문을 사용합니다.
3.3.3 TCL
TCL(트랜잭션 제어어, Transaction Control Language)은 2장에서 설명했던 트랜잭
션을 처리하는 SQL 문입니다.
● COMMIT: DML로 변경된 데이터를 DB에 적용합니다.
● ROLLBACK: DML로 변경된 데이터를 변경 이전 상태로 되돌립니다.
INSERT, DELETE, UPDATE, MERGE는 데이터를 변경하는 문장입니다. 앞에서도 말
했듯이 실수로 중요한 테이블에 있는 데이터를 모두 삭제해버렸다면 큰일이겠
죠. TCL은 이런 실수를 방지하기 위해 한 번 더 체크하는 기능을 수행합니다.
즉, 데이터를 삭제한 뒤 COMMIT 문을 실행해야 삭제된 내용이 최종적으로 DB
에 적용됩니다. 실수로 데이터를 지웠을 경우 ROLLBACK 문을 실행하면 지우기
전 상태로 돌아갈 수 있습니다. DELETE뿐만 아니라 INSERT, UPDATE, MERGE 문
모두 마찬가지입니다.
3.3.4 DCL
DCL(데이터 제어어, Data Control Language)은 객체에 대한 권한을 할당하거나 회
수하는 SQL 문을 말합니다.
● GRANT: 객체에 대한 권한을 할당합니다.
● REVOKE: 객체에 할당된 권한을 회수합니다.
36
누구나 쉽게 SQL(본문)최종.indd 36 2019-05-28 오후 5:08:45