Oracle 기본정리 - view
프로그래밍 정리/Oracle
2019. 12. 4. 13:08
반응형
Oracle 기본정리 - view
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | --뷰 장점 --1. 보안성 : 원하는 칼럼을 빼고 보여줄수 있다. --2. 편리성 : 뷰를 미리 만들어두어 간단하게 볼 수 있다. --테이블 복사 create table tempemp as select * from emp; --뷰 생성 create view d20 as select empno,ename,deptno from tempemp where deptno=20; --뷰 select select * from d20; desc user_views; --저장된 뷰 확인 select view_name,text from user_views; ------------view---------------- --예제1 create view work as select empno,ename,job,dname from emp inner join dept on emp.deptno = dept.deptno; select * from work; --저장된 뷰 확인 select view_name,text from user_views; -------------------------- --예제2 --뷰가 이미 있을때 뷰를 바꿔주기 create or replace view work as select * from tempemp; --예제3 --강제로 뷰만들기,잘 안씀 create force view tt as select * from sdkljgvkladjgskl; ----------------------------- --이미 만들어져 있는 테이블 select * from user_objects; select * from user_tables; select * from user_views; select * from user_constraints; select * from user_indexes; select * from user_sequences; --d20 view 조작해보기 --view는 추가,수정,제거 가능함, ★★하지만 실제 테이블도 영향이 갈 수도 있음★★ insert into d20 values(1,'hong',20); update d20 set deptno=40 where empno=7902; --바뀐결과 보기 select * from d20; select * from tempemp; ------------------------------ --예제3 update 못하게 하기 --테이블 생성, with check option 제약조건 create or replace view d20 as select empno,ename,deptno from tempemp where deptno=20 with check option; --컬럼값 변경 금지 옵션 insert into d20 values(3,'park',20); insert into d20 values(4,'park',30); --update 되는지 확인 update d20 set deptno=30 where empno=3; --바뀐결과 보기 select * from d20; select * from tempemp; ------------------------------------------------------- --예제4 --with read only 옵션 살펴보기 create or replace view d20 as select empno,ename,deptno from tempemp where deptno=20 with read only; --읽기 전용으로 생성 insert into d20 values(11,'papa',20); insert into d20 values(13,'park',30); | cs |
반응형
'프로그래밍 정리 > Oracle' 카테고리의 다른 글
Oracle 기본정리 - 인덱스(Index) (0) | 2019.12.04 |
---|---|
Oracle 기본정리 - 시퀀스(sequence) (0) | 2019.12.04 |
Oracle 기본정리 - 외래키, 제약조건 (0) | 2019.12.04 |
Oracle 기본정리 - recyclebin (0) | 2019.12.04 |
Oracle 기본정리 - sub query2(where절에 select 넣어보기) (0) | 2019.12.04 |