-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathp349.sql
More file actions
106 lines (65 loc) · 1.48 KB
/
p349.sql
File metadata and controls
106 lines (65 loc) · 1.48 KB
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
--시퀀스
create table dept_sequence
as
select * from dept
where 1 = 0;
create sequence seq_dept
increment by 10
start with 10
maxvalue 90
minvalue 0
cycle
cache 2;
select *
from user_sequences;
select * from tabs;
insert into dept_sequence(deptno, dname, loc) values(seq_dept.nextval, 'DATABASE', 'SEOUL');
select * from dept_sequence;
select seq_dept.currval --현재 시퀀스 번호
from dual;
select seq_dept.nextval --다음 시퀀스 번호
from dual;
alter SEQUENCE seq_dept
increment by 1
maxvalue 9
cycle;
drop SEQUENCE seq_dept;
--동의어 사용
create synonym e
for emp;
select * from e;
drop synonym e;
select * from emp;
--Q1
select * from empidx;
create table empidx
as
select * from emp;
create index idx_empidx_empno
on empidx(empno);
select * from user_indexes;
select * from user_indexes
where index_name = 'IDX_EMPIDX_EMPNO';
--Q2
create or replace view empidx_over15k
as
select empno, ename, job, deptno, sal, nvl2(comm, 'O', 'X') as comm
from empidx
where sal > 1500
order by empno asc;
select * from empidx_over15k;
--Q3
create table deptseq
as
select * from dept;
create sequence seq_deptseq
increment by 1
start with 1
maxvalue 99
minvalue 1
nocycle
nocache;
insert into deptseq(deptno, dname, loc) values(seq_deptseq.nextval, 'DATABASE', 'SEOUL');
insert into deptseq(deptno, dname, loc) values(seq_deptseq.nextval, 'WEB', 'BUSAN');
insert into deptseq(deptno, dname, loc) values(seq_deptseq.nextval, 'MOBILE', 'ILSAN');
select * from deptseq;