학습용 기출·복원자료 분류 확인SQLD · 2024년 54회 SQL 기본 및 활용 · 43번
테이블의 데이터와 종속된 테이블을 지우는 명령어로 알맞은 것은?
1
TRUNCATE
정답 근거TRUNCATE와 DROP은 DDL이며 일반적으로 수행 시 암시적 커밋이 발생해 ROLLBACK할 수 없다. DELETE는 DML이라 COMMIT 전에는 ROLLBACK할 수 있다. 따라서 1번 보기 ‘TRUNCATE’의 적용 여부를 문제 조건과 대조해야 한다.
2
DROP / CASCADE
오답 이유‘DROP / CASCADE’ 구문은 ‘TRUNCATE’과 실행 결과나 적용 조건이 다르다. TRUNCATE와 DROP은 DDL이며 일반적으로 수행 시 암시적 커밋이 발생해 ROLLBACK할 수 없다. DELETE는 DML이라 COMMIT 전에는 ROLLBACK할 수 있다. 따라서 2번 보기 ‘DROP / CASCADE’의 적용 여부를 문제 조건과 대조해야 한다.
3
DELETE
오답 이유‘DELETE’ 구문은 ‘TRUNCATE’과 실행 결과나 적용 조건이 다르다. TRUNCATE와 DROP은 DDL이며 일반적으로 수행 시 암시적 커밋이 발생해 ROLLBACK할 수 없다. DELETE는 DML이라 COMMIT 전에는 ROLLBACK할 수 있다. 따라서 3번 보기 ‘DELETE’의 적용 여부를 문제 조건과 대조해야 한다.
4
ALTER
오답 이유‘ALTER’ 구문은 ‘TRUNCATE’과 실행 결과나 적용 조건이 다르다. TRUNCATE와 DROP은 DDL이며 일반적으로 수행 시 암시적 커밋이 발생해 ROLLBACK할 수 없다. DELETE는 DML이라 COMMIT 전에는 ROLLBACK할 수 있다. 따라서 4번 보기 ‘ALTER’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘TRUNCATE’입니다. TRUNCATE와 DROP은 DDL이며 일반적으로 수행 시 암시적 커밋이 발생해 ROLLBACK할 수 없다. DELETE는 DML이라 COMMIT 전에는 ROLLBACK할 수 있다.