학습용 기출·복원자료 분류 확인SQLD · 2023년 48회 SQL 기본 및 활용 · 35번
Oracle 뷰 정의를 변경하려 할 때 일반적으로 적절한 방법은?
1
ALTER VIEW 뒤에 새 SELECT 문을 작성한다.
오답 이유Oracle의 ALTER VIEW는 컴파일 등 제한된 관리에 쓰이며 뒤에 새 SELECT 정의를 직접 붙이지 않는다. 따라서 1번 보기 ‘ALTER VIEW 뒤에 새 SELECT 문을 작성한다.’의 적용 여부를 문제 조건과 대조해야 한다.
2
CREATE OR REPLACE VIEW로 다시 정의한다.
정답 근거Oracle에서 뷰의 SELECT 정의를 바꾸려면 CREATE OR REPLACE VIEW를 사용한다. ALTER VIEW는 뷰 재컴파일 등 제한된 용도이지 SELECT 정의 교체 문법이 아니다. 따라서 2번 보기 ‘CREATE OR REPLACE VIEW로 다시 정의한다.’의 적용 여부를 문제 조건과 대조해야 한다.
3
UPDATE VIEW DEFINITION 문을 사용한다.
오답 이유`UPDATE VIEW DEFINITION`은 Oracle이 제공하는 뷰 재정의 문법이 아니다. 따라서 3번 보기 ‘UPDATE VIEW DEFINITION 문을 사용한다.’의 적용 여부를 문제 조건과 대조해야 한다.
4
RENAME VIEW만 실행하면 SELECT 문도 바뀐다.
오답 이유RENAME은 객체 이름만 바꾸므로 뷰가 저장한 SELECT 정의는 변경되지 않는다. 따라서 4번 보기 ‘RENAME VIEW만 실행하면 SELECT 문도 바뀐다.’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 2번
핵심 판단은 2번 ‘CREATE OR REPLACE VIEW로 다시 정의한다.’입니다. Oracle에서 뷰의 SELECT 정의를 바꾸려면 CREATE OR REPLACE VIEW를 사용한다. ALTER VIEW는 뷰 재컴파일 등 제한된 용도이지 SELECT 정의 교체 문법이 아니다.