1 분 소요

뷰(View)는 복잡한 SQL 쿼리를 간단하게 만들어주는 가상 테이블입니다. 하지만 유지보수를 위해서는 뷰 수정 및 삭제 방법을 정확히 알아야 합니다. 아래에서 ALTER VIEW, DROP VIEW, 그리고 관련 주의사항을 정리해드리겠습니다.


✅ 1. 뷰 수정 (ALTER VIEW)

기존 뷰의 구조나 SELECT 문을 변경할 때 사용합니다.

📌 문법

ALTER VIEW 뷰이름 AS
SELECT 필드1, 필드2, ...
FROM 테이블명
WHERE 조건;

📌 예제

MyView 뷰를 수정하여 Reservation 테이블에서 IDName만 조회하도록 변경:

ALTER VIEW MyView AS
SELECT ID, Name
FROM Reservation;

🗑️ 2. 뷰 삭제 (DROP VIEW)

뷰가 더 이상 필요 없거나, 구조를 재설계할 때 뷰를 제거할 수 있습니다.

📌 문법

DROP VIEW 뷰이름;

📌 예제

DROP VIEW MyView;

MyView라는 뷰를 삭제합니다.


⚠️ 3. 뷰 수정 및 삭제 시 주의사항

🔸 1. 의존성 문제

  • 뷰가 참조하는 테이블이나 다른 뷰가 변경되면 오류 발생 가능.
  • 뷰 삭제 시, 이를 참조하는 쿼리, 앱, 리포트에 영향을 줄 수 있음.

🔸 2. 권장: CREATE OR REPLACE VIEW

  • ALTER VIEW 대신 아래와 같이 쓰는 것이 더 유연합니다:
CREATE OR REPLACE VIEW MyView AS
SELECT ID, Name
FROM Reservation;
  • 장점:
    • 뷰가 없으면 생성
    • 있으면 자동 대체

🔸 3. DROP VIEW는 원본 테이블에 영향을 주지 않음

  • 뷰 삭제는 안전하지만, 뷰를 참조하는 다른 요소가 있다면 오류 유발 가능.

🧾 4. 요약 비교표

명령어 설명 특징
ALTER VIEW 기존 뷰 수정 SELECT 구조 변경
DROP VIEW 뷰 삭제 원본 테이블 영향 없음
CREATE OR REPLACE VIEW 뷰 생성 또는 대체 권장 방식

질문 정리

❓ 뷰를 수정하면 기존 데이터도 바뀌나요?

뷰는 데이터를 저장하지 않기 때문에, SELECT 문만 변경되며 원본 데이터는 영향을 받지 않습니다.

❓ DROP VIEW를 했는데 테이블 데이터는 그대로인가요?

예, 뷰는 가상의 테이블이므로 삭제해도 원본 테이블 데이터에는 전혀 영향이 없습니다.

❓ ALTER VIEW와 CREATE OR REPLACE VIEW 중 무엇이 더 좋나요?

일반적으로 CREATE OR REPLACE VIEW가 더 안정적이고 유연한 방식입니다.

카테고리:

업데이트:

댓글남기기