DELETE, DROP, TRUNCATE의 비교
3. TRUNCATE 명령어 사용
SQL 명령어 TRUNCATE를 사용하여 TABLE의 모든 행을 삭제할 수 있다.
예를 들어 EMP TABLE을 잘라내는 명령문은 다음과 같다.
SQL>TRUNCATE TABLE emp;
◈TRUNCATE 명령어는 TABLE이나 CLUSTER에서 모든 행을 삭제하는 빠르고 효율적인 방법이다.
◈TRUNCATE 명령어는 어떤 ROLLBACK 정보도 만들지 않고 즉시 COMMIT 한다.
◈TRUNCATE 명령어는 DDL 명령문으로 ROLLBACK될 수 없다.
◈TRUNCATE 명령문은 잘라 버릴 TABLE과 관련된 구조(CONSTRAINT, TRIGGER 등)과 권한에 영향을 주지 않는다.
◈TRUNCATE 명령문이 TABLE에서 ROW를 삭제하면 해당 TABLE에 걸려 있는 TRIGGER는 실행되지 않는다.
◈AUDIT 기능이 ENABLE되어 있으면, TRUNCATE 명령문은 DELETE 문에 해당하는 AUDIT 정보를 생성하지 않는다. 대신 발생한 TRUNCATE 명령문에 대한 단일 AUDIT RECORD를 생성한다.
'오라클 > Oracle,SQL' 카테고리의 다른 글
오라클공부 485. 주석 추가 (0) | 2015.11.20 |
---|---|
오라클공부 484. DELETE, DROP, TRUNCATE의 비교 (0) | 2015.11.20 |
오라클공부 482. DELETE, DROP, TRUNCATE의 비교 (0) | 2015.11.20 |
오라클공부 481. DELETE, DROP, TRUNCATE의 비교 (0) | 2015.11.20 |
오라클공부 480. TRUNCATE 명령문 (0) | 2015.11.20 |