뷰 생성 및 관리
뷰는 query 결과를 테이블로 나타냅니다. 테이블을 사용할 수 있는 곳에서는 대개 뷰를 사용할 수 있습니다. 여러 다른 테이블에 저장된 정보에 자주 액세스해야 하는 경우 뷰를 사용하면 편리합니다.
참조:
-
질의에 대한 자세한 내용은 "테이블 데이터 선택"을 참조하십시오.
-
뷰에 대한 추가 일반 정보는 Oracle Database Concepts를 참조하십시오.
뷰 생성
뷰를 생성하려면 SQL Developer 툴 뷰 생성이나 DDL 문 CREATE VIEW를 사용합니다.
이 항목에서는 이 두 방법을 모두 사용하여 다음 뷰를 만드는 방법을 보여 줍니다.
-
SALESFORCE - 영업부 직원의 이름과 봉급을 포함합니다.
-
EMP_LOCATIONS - 모든 직원의 이름과 위치를 포함합니다.
이 뷰는 "Creating an INSTEAD OF Trigger"에서 사용됩니다.
참조:
-
SQL Developer를 사용하여 뷰를 생성하는 방법은 Oracle SQL Developer User's Guide를 참조하십시오.
-
CREATE VIEW 문에 대한 자세한 내용은 Oracle Database SQL Language Reference를 참조하십시오
자습서: 뷰 생성 툴을 사용하여 뷰 생성
이 자습서에서는 뷰 생성 툴을 사용하여 SALESFORCE 뷰를 작성하는 방법을 보여 줍니다.
뷰 생성 툴을 사용하여 SALESFORCE 뷰를 생성하는 단계:
-
Connections(연결) 프레임에서 hr_conn을 확장합니다.
-
스키마 객체 유형 목록에서 뷰를 마우스 오른쪽 단추로 누릅니다.
-
선택 항목 목록에서 새 뷰를 누릅니다.
[뷰 생성] 창이 열리고 새 뷰의 기본값이 표시됩니다.
-
[스키마]에 대해 기본값 HR을 사용합니다.
-
[이름]에
SALESFORCE를 입력합니다. -
[SQL 질의] 창이 표시되지 않으면 SQL 질의 탭을 누릅니다.
-
[SQL 질의] 창의 [SQL 질의] 필드에서 다음을 수행합니다.
-
SELECT뒤에 다음을 입력합니다.FIRST_NAME || ' ' || LAST_NAME "Name", SALARY*12 "Annual Salary" -
FROM뒤에 다음을 입력합니다.EMPLOYEES WHERE DEPARTMENT_ID = 80
-
-
구문 확인을 누르십시오.
-
구문 결과(Syntax Results)에서 메시지가
No errors found in SQL가 아니면 단계 7로 돌아가 질의에서 구문 오류를 수정합니다. -
확인을 누릅니다.
SALESFORCE 뷰가 생성됩니다. 이를 보려면 연결 프레임에서 뷰를 확장합니다.
이 뷰를 생성하기 위한 CREATE VIEW 문을 보려면 해당 이름을 선택하고 SQL 탭을 누릅니다.
참조: SQL Developer를 사용하여 뷰를 생성하는 방법에 대한 자세한 내용은 Oracle SQL Developer User's Guide를 참조하십시오.
CREATE VIEW 문을 사용하여 뷰 생성
이 예제에서는 CREATE VIEW 문을 사용하여 네 개의 테이블을 조인하는 EMP_LOCATIONS 뷰를 생성하는 방법을 보여줍니다.
예 4-3의 CREATE VIEW 문은 네 개의 테이블을 조인하는 EMP_LOCATIONS 뷰를 생성합니다. 조인에 대한 자세한 내용은 "여러 테이블에서 데이터 선택"을 참조하십시오.)
예제 4-3 CREATE VIEW를 사용하여 EMP_LOCATIONS 뷰 생성
CREATE VIEW EMP_LOCATIONS AS
SELECT e.EMPLOYEE_ID,
e.LAST_NAME || ', ' || e.FIRST_NAME NAME,
d.DEPARTMENT_NAME DEPARTMENT,
l.CITY CITY,
c.COUNTRY_NAME COUNTRY
FROM EMPLOYEES e, DEPARTMENTS d, LOCATIONS l, COUNTRIES c
WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID AND
d.LOCATION_ID = l.LOCATION_ID AND
l.COUNTRY_ID = c.COUNTRY_ID
ORDER BY LAST_NAME;
결과:
View EMP_LOCATIONS created.
참조: CREATE VIEW 문에 대한 자세한 내용은 Oracle Database SQL Language Reference를 참조하십시오.
뷰의 Query 변경
뷰에서 질의를 변경하려면 DDL 문 CREATE VIEW를 OR REPLACE 절과 같이 사용합니다.
예 4-4의 CREATE OR REPLACE VIEW 문은 SALESFORCE 뷰의 질의를 변경합니다.
예제 4-4 SALESFORCE 뷰의 질의 변경
CREATE OR REPLACE VIEW SALESFORCE AS
SELECT FIRST_NAME || ' ' || LAST_NAME "Name",
SALARY*12 "Annual Salary"
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 80 OR DEPARTMENT_ID = 20;
결과:
View SALESFORCE created.
참조: Oracle Database SQL Language Reference와 OR REPLACE 절을 사용한 CREATE VIEW에 대한 자세한 내용은
튜토리얼: 이름 바꾸기 도구를 사용하여 뷰 이름 변경
이 자습서에서는 이름 바꾸기 도구를 사용하여 SALESFORCE 뷰의 이름을 변경하는 방법을 보여줍니다.
뷰의 이름을 변경하려면 SQL Developer 툴 이름 바꾸기 또는 RENAME 문을 사용합니다. 이에 상응하는 DDL 문은 다음과 같습니다.
RENAME SALESFORCE to SALES_MARKETING;
Rename 툴을 사용하여 SALESFORCE 뷰를 변경하는 단계:
-
Connections(연결) 프레임에서 hr_conn을 확장합니다.
-
스키마 객체 유형 목록에서 뷰를 확장합니다.
-
뷰 목록에서 SALESFORCE를 마우스 오른쪽 버튼으로 누릅니다.
-
선택 항목 목록에서 이름 바꾸기를 선택합니다.
-
[이름 바꾸기] 창의 [새 뷰 이름] 필드에
SALES_MARKETING을 입력합니다. -
적용을 누릅니다.
-
[확인] 창에서 확인을 누릅니다.
참조: Oracle Database SQL Language Reference에서 RENAME 문에 대한 자세한 내용을 참조하십시오.
뷰 삭제
뷰를 삭제하려면 SQL Developer Connections 프레임과 DROP 툴 또는 DDL 문 DROP VIEW를 사용합니다 .
다음 자습서에서는 Connections 프레임 및 Drop 툴을 사용하여 SALES_MARKETING 뷰를 삭제하는 방법을 보여 줍니다("자습서: 이름 바꾸기 툴을 사용하여 보기 이름 변경"). 이에 상응하는 DDL 문은 다음과 같습니다.
DROP VIEW SALES_MARKETING;
Drop 툴을 사용하여 SALES_MARKETING 뷰를 삭제하는 단계:
-
Connections(연결) 프레임에서 hr_conn을 확장합니다.
-
스키마 객체 유형 목록에서 뷰를 확장합니다.
-
뷰 목록에서 SALES_MARKETING을 마우스 오른쪽 단추로 누릅니다.
-
선택 항목 목록에서 삭제를 누릅니다.
-
[삭제] 창에서 적용을 누릅니다.
-
[확인] 창에서 확인을 누릅니다.
참조: DROP VIEW 문에 대한 자세한 내용은 Oracle Database SQL Language Reference를 참조하십시오