테이블 view
2024. 10. 25. 12:48

--table; 물리적 , DB 파일로 저장

--view : table 기반 논리적인 가상의 테이블 (테이블을 볼수있는 창) , select 문을 저장

--보안목적 (table 의 칼럼의 일부만 공개하기위해)

--복잡한 SQL 문장이  반복적으로 사용되면 이를 view 만들어서 사용하면 편리

--WITH CHECK OPTION --(DEFAULT) DML 수행가능 (INSERT , DELETE  ,UPDATE)

--WITH READ ONLY : SELECT 전용

--NOFORCE (DEFAULT) TABLE 존재 여부 확인하고 존재하면 VIEW 생성

--NOFORCE : TABLE 존재여부확인

--- 만들어진 view 를 data 사전에서 검색해보기
select * from user_views;

 

CREATE OR REPLACE VIEW EMP_COUNTRY_VIEW
AS
SELECT FIRST_NAME , LAST_NAME, CITY,COUNTRY_NAME
FROM EMPLOYEES JOIN DEPARTMENTS USING (DEPARTMENT_ID)
				JOIN LOCAIONS USING (LOCATION_ID)
                JOIN JOBS COUNTRIES(COUNTRY_ID)

 

--뷰 생성할수있는 권한 부여

 grant create view to USER이름;

--VIEW 는 객체로 저장됨
--SELECT 문에 FROM 절에 (SELECT 문):  inline view
--급여가 가장많은 5명 2회
---view 생성해서 사용

create or replace view  emp_sal_view 
as
select * 
from employees 
order by salary desc nulls last ;

 

--Inline View (1회성이면 더 좋다) --

select *
from (select * 
from employees 
order by salary desc nulls last)
where rownum <=5 ;

'DataBase' 카테고리의 다른 글

저장 프로시저  (0) 2024.10.28
인덱스(INDEX)  (0) 2024.10.25
Sequence(오라클)  (0) 2024.10.25
TRANSACTION/제약조건/테이블생성시 제약조건  (0) 2024.10.25
executeQuery와 executeUpdate()의 차이  (0) 2024.10.25