콘텐츠로 이동

ALTER VIEW

ALTER VIEW#

구문#

alter_view ::=#

alter_view_image90

전제 조건#

SYS 사용자, 뷰가 속한 스키마의 소유자 또는 ALTER ANY TABLE 시스템 권한을 가진 사용자만이 이 구문으로 뷰를 변경할 수 있다.

설명#

뷰가 유효하지 않을 때(invalid) 그 뷰를 재 컴파일 하는데 사용한다. 예를 들어, 뷰의 기반 테이블중에 하나가 ALTER TABLE 문에 의하여 정의가 변경된 경우 명시적으로 뷰를 재 컴파일 하는데 사용할 수 있다.

user_name#

재 컴파일 될 뷰의 소유자 이름을 명시한다. 생략하면 Altibase는 현재 세션에 연결된 사용자의 스키마에 속한 것으로 간주한다.

view_name#

재 컴파일 될 뷰의 이름을 명시한다. 뷰의 이름은 2장의 "객체 이름 규칙"을 따라야 한다.

뷰를 재 컴파일 때 Altibase는 뷰 생성문을 읽어와 다시 컴파일을 수행하므로 뷰 생성 시 발생할 수 있는 오류들이 ALTER VIEW 문 수행 시에도 발생할 수 있다. 뷰를 생성할 때 FORCE 옵션을 사용했다면, ALTER VIEW 문으로 뷰를 컴파일하는데 성공한 후에도 뷰가 여전히 무효인 상태일 수 있다.

ALTER VIEW 문은 기존 뷰의 정의를 변경하지 않는다. 뷰를 재 정의하려면 CREATE OR REPLACE VIEW 문을 사용해야 한다.

예제#

<질의> 기반 테이블 employees의 정의를 변경 후, 뷰 avg_sal 을 재 컴파일하라. (avg_sal 뷰의 생성은 CREATE VIEW의 예제를 참고하라.)

iSQL> ALTER TABLE employees
     ADD COLUMN (email VARCHAR(20));
Alter success.
iSQL> ALTER VIEW avg_sal COMPILE;
Alter success.
iSQL> SELECT * FROM avg_sal;
DNO   EMP_AVG_SAL 
---------------------
..
6 rows selected.