은닉화할때
테이블을 복제해서 안보여주고 싶은부분 지우고 트리거(동기화)해서 주는 것보다 VEIW가 좋아요
VEIW로 하면 보여줄 컬럼(은닉화)만 보여줄 수 있고 자동으로 동기화 됨
트리거 :
테이블에 어떤 이벤트가 발생했능 때 자동으로 사용자가 정의 한 PLSQL명령을 실행 할수 있는 구문이다. (여기서 이벤트는 아래 CRUD)
CRUD
INSERT CREAT
SELECT INSERT
UPDATE UPDATE
DELECT DELECT
중에서 선택해서 권한 줄 수도 있음.
SELECT * FROM student;
테이블 잘라서 복제하기
CREATE TABLE student2 AS SELECT studno, name, id, grade, height, weight, deptno1, deptno2, profno FROM student;
관리자에서 VIEW 권한을 줌
--DCL
GRANT CREATE VIEW TO SCOTT;
SCOTT에서 뷰 사용
CREATE OR REPLACE VIEW STUDENT_VIEW AS SELECT studno, name, id, grade, height, weight, deptno1, deptno2, profno FROM student;
SELECT 해보면 잘라진 테이블이 출력된다
SELECT * FROM STUDENT_VIEW;
테스트를 위해 JUMIN 을 널이 아님을 체크 해제한다
STUDENT_VIEW에 자료 넣기
INSERT INTO STUDENT_VIEW(studno, name, id, grade, height, weight, deptno1, deptno2, profno) VALUES(9716, '홍길동', 'jaybon', 1, 170, 65, 101, 201, 1001);
확인해보기
SELECT *
FROM STUDENT_VIEW;
같은 데이터를 넣으면 오류가난다
INSERT INTO STUDENT_VIEW(studno, name, id, grade, height, weight, deptno1, deptno2, profno) VALUES(9716, '홍길동', 'jaybon', 1, 170, 65, 101, 201, 1001);
스키마를 확인한다
테이블을 복제해서 안보여주고 싶은 부분 지우고 트리거(동기화)해서 주는 방법
테이블 복제
어쩌구 저쩌구 할일이 더있음
VIEW로 만들어 보자 (은닉화, 동기화)
위에 동기화 되고 원하는 컬럼만 보여지게 하여 만들어진 STUDENT_VIEW 테이블을 아래에서 보자
데이터 입력
'DATA BASE' 카테고리의 다른 글
DML(INSERT, UPDATE, DELECT, UPDATE JOIN) (0) | 2020.04.02 |
---|---|
관리자 비번 계속 틀려서 잠겼을 때 푸는 법 (0) | 2020.04.02 |
SELF JOIN/ANSI JOIN (0) | 2020.04.02 |
synonym(동의어) (0) | 2020.04.02 |
JOIN (CERTESIAN JOIN, INNER JOIN, OUTER JOIN) (0) | 2020.04.01 |