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를 생성한다.

 

 

+ Recent posts