728x90
View
๊ฐ์ ํ
์ด๋ธ, ์ค์ฒด๊ฐ ์๋ ํ
์ด๋ธ, ๋ค๋ฅธ ํ
์ด๋ธ์ ์ ๊ทผํ๊ธฐ ์ํ ํ
์ด๋ธ
ํ
์ด๋ธ<----- ๋ทฐ <----- user
์ฅ์ : ํ๊ฐ์๋ทฐ๋ก ์ฌ๋ฌ๊ฐ์ ํ
์ด๋ธ์ ๊ฒ์ํ ์ ์๋ค.
์๋๊ฐ ๋น ๋ฅด๋ค.
์ ํ์ค์ ์ด ๊ฐ๋ฅํ๋ค. -> readonly
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
|
-----------------------------------------
--#1
CREATE VIEW UB_TEST_01
AS
SELECT job_id, job_title, min_salary
FROM jobs; -- ๋ทฐ ์์ฑ
-----------------------------------------
SELECT *
FROM UB_TEST_01; -- ๋ทฐ ํ์ธ์ฉ
-----------------------------------------
INSERT INTO UB_TEST_01(job_id, job_title, min_salary)
VALUES('DEVELOPER','๊ฐ๋ฐ์',10000); -- ๋ฐ์ดํฐ๊ฐ ์๋ณธ ํ
์ด๋ธ๋ก ๋ค์ด๊ฐ
-----------------------------------------
SELECT *
FROM jobs; -- ํ์ธ์ฉ
-----------------------------------------
ROLLBACK; -- ๋๋๋ฆผ
COMMIT; -- ์ ์ฉ (ํ๋ฒ ํด๋ฒ๋ฆฌ๋ฉด ๋กค๋ฐฑ์ด ๋ถ๊ฐ๋ฅ, DELETE ๋ช
๋ น์ด๋ก ์ญ์ ๊ฐ๋ฅ)
-----------------------------------------
DELETE FROM UB_TEST_01
WHERE JOB_ID = 'DEVELOPER'; -- ์ปค๋ฐํ ๋ฐ์ดํฐ ์ญ์
-----------------------------------------
--#2
DROP TABLE TB_EMP
CASCADE CONSTRAINTS; -- TB_EMP ์์ ์ญ์
-----------------------------------------
CREATE TABLE TB_EMP
AS
SELECT employee_id, first_name, salary
FROM employees;-- TB_EMP์ EMPLOYEES ํ
์ด๋ธ์ 3๊ฐ ์ปฌ๋ผ ๋ณต์ฌ
-----------------------------------------
SELECT *
FROM TB_emp;--TB_EMP ํ์ธ
-----------------------------------------
CREATE VIEW UB_VIEW(empno, ename, sal) -- ์์ปฌ๋ผ๋ช
์ผ๋ก
AS
SELECT employee_id, first_name, salary
FROM TB_EMP; --UB_VIEW ์์ฑ -> TABLE๊ณผ VIEW๋ฅผ ์ฐ๊ฒฐ,์ฐ๊ด์ง๋ ํ์
-----------------------------------------
INSERT INTO UB_VIEW
VALUES(100,'ํ๊ธธ๋',10000); --UB_VIEW ์ปฌ๋ผ๋ค์ ๊ฐ ์
๋ ฅ
INSERT INTO UB_VIEW
VALUES(110,'์ฑ์ถํฅ',12000); --UB_VIEW ์ปฌ๋ผ๋ค์ ๊ฐ ์
๋ ฅ
-----------------------------------------
SELECT *
FROM TB_EMP; -- ๊ฐ ํ์ธ์ฉ
SELECT *
FROM UB_VIEW; -- ๋๊ฐ์ด ๋ณด์
-----------------------------------------
--#3 READONLY (=๋ทฐ๋ฅผ ๋ซ์๋ค์์ ๋ฐ์ดํฐ๋ง ๊ฐ๊ณ ์ค๊ธฐ)
CREATE VIEW DEPTVIEW("๋ถ์๋ฒํธ","๋ถ์๋ช
","์ง์ญ๋ฒํธ")
AS
SELECT department_id, department_name, location_id
FROM departments
WITH READ ONLY; -- READONLY๋ก ๋ทฐ(์ฐฝ๋ฌธ)์ ๋ซ์๊ฒ
-----------------------------------------
SELECT *
FROM DEPTVIEW; -- ๋ทฐ ์์ฑ ํ์ธ์ฉ
-----------------------------------------
INSERT INTO DEPTVIEW("๋ถ์๋ฒํธ","๋ถ์๋ช
","์ง์ญ๋ฒํธ")
VALUES(300,"๊ธฐํ๋ถ",1700); -- โ
READ ONLY๋๋ฌธ์ INSERT ์ค๋ฅ๋ฐ์โ
-----------------------------------------
DELETE FROM DEPTVIEW -- ๋ทฐ๋ฅผ ๋ซ์์ ์ด๊ฑฐ๋ก ์ญ์ ๋ถ๊ฐ
WHERE "๋ถ์๋ฒํธ"=270; -- ์กฐ๊ฑด์ ์ถ๊ฐํด๋ ์ญ์ ๋ถ๊ฐ
-----------------------------------------
--4# ์กฐ์ธ, OR REPLACE ์ฌ์ฉ
CREATE OR REPLACE VIEW DEPT_EMP_VIEW --OR REPLACE ์ถ๊ฐ์ ํ
์ด๋ธ ๋ง์์ฐ๋ฉด์ ๊ณ์ ๋ง๋ค๊ธฐ ๊ฐ๋ฅ
AS
SELECT e.employee_id, e.first_name, b.department_id, b.department_name, b.location_id
FROM employees e, departments b
WHERE e.department_id=b.department_id
WITH READ ONLY;
-----------------------------------------
SELECT employee_id, department_id, department_name -- ์ง์ ๋ ์ปฌ๋ผ๋ง ๋ณด๊ธฐ
FROM DEPT_EMP_VIEW;
-----------------------------------------
|
cs |
'๐ฆ ๋ฐ์ดํฐ ๋ฒ ์ด์ค (DB) ๐ฆ > ๐ พ ์ค๋ผํด DB & SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
INDEX (์ธ๋ฑ์ค) (0) | 2021.02.17 |
---|---|
์ํ์ค (SEQUENCE) (0) | 2021.02.17 |
TABLE -2 (๋ฌด๊ฒฐ์ฑ CONSTRAINT, primary key, unique key, foreign key ...etc) (0) | 2021.02.17 |
ํ ์ด๋ธ TABLE - 1 (0) | 2021.02.17 |
๋ถ์ํจ์, ์์ํจ์ (RANK, DENSE_RANK, ROW_NUMBER, ROWNUM) (0) | 2021.02.15 |
๋๊ธ