일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- C++ 1937
- 문자열
- C++1167
- 투포인터
- 조합론
- 16933
- 프로그래머스
- 가장 긴 증가하는 부분 수열
- C++1967
- 순열
- 조합
- 백준
- strtok
- 백준 숨바꼭질5
- Backtracking
- C++
- 백트래킹
- BFS
- DP
- 다익스트라
- 소트 게임
- 위상정렬
- DFS
- LIS
- 백준 17071
- 인덱스 트리
- C++ 1918
- C++ 17071
- c언어
- Today
- Total
블로그
[DB] Oracle 11g SQL - 노트정리2 본문
<시퀀스(일련번호) 생성>
ex) create sequence(시퀀스 이름) start with1 increment by 2;
-> 1, 3, 5, 7, 9... 등차수열 만들어주기
-> start with 0로 해봤는데 시퀀스의 min value보다 작으면 안된다고 하면서 빠꾸먹었다.
시퀀스의 디폴트 min value는 1인걸로!
<Commit&Rollback>
테이블 alter 후 commit 해주어야 반영이 됨
(대신 테이블 create 나 drop은 commit 안해도 반영됨 확인해봄!)
-> DDL 문은 자동으로 commit을 실행하기 때문!
rollback은 마지막 commit 이후로 수정사항을 전부 날리는 것
-> savepoint: 깃처럼 중간중간 진행사항 저장하는 것이 가능
ex) savepoint sv_a
...
...
rollback sv_a
와 같은 식으로 사용
DELETE&TRNCATE&DROP의 차이
그렇다고 한다

<View>: sql 사용을 더 용이하게 해주는 도구!
select 문을 하나의 새로운 table로 만든 것이라고 생각하면 편함.
가상테이블이지만 view를 수정함으로써 원래 table도 수정하는 것이 가능하다
사용법: create view (뷰이름) as (select절(+where... 등))
ex) create view vw_emp as select empno, ename from emp where deptno = 10;
수정: create or replace view (뷰이름) as (바꿀 select절(+where...))
-> create나 replace 둘다 써도 된다는 줄 알았는데 "create or replace" 라고 써야 되더라..
삭제: drop view (뷰이름)
<Rownum>: 테이블이 select로 불러와질 때 위에서부터 붙는 줄 번호(1부터 시작해 1씩 증가)
order by (기준) 으로 불러왔을 때와 order by (기준) desc 일 때
당연히 불러와지는 행(데이터)의 순서가 반대이지만
rownum은 불러와지는 행의 데이터와 관계없이 위에서부터 순서대로 붙는다
~> 조금 복잡한 예시 (scott 계정의 emp 테이블 이용)
select * from
(select rownum rnum, a.* from
(select * from emp order by sal asc) a)
where rnum >= 1 and rnum <= 5
핑크색으로 생성된 table 생성 근데 이제 5번째 줄까지만
<- 핑크색은 파란색 행의 전체를 가져와서 rownum을 붙인 것
<- 파란색은 emp를 sal 순으로 오름차순 정렬한 table
-> 결과
'CS' 카테고리의 다른 글
메모리 영역 (0) | 2022.12.22 |
---|---|
[OS] Linux IPC - Pipe, Shared memory, Message queue (0) | 2022.12.21 |
[DB] PL/SQL 정리 (0) | 2022.12.15 |
[DB] 정규화 - 함수 종속성 및 정규형 (종속성 규칙, 제 N정규형) (0) | 2022.12.15 |
[DB] Oracle 11g SQL - 노트정리1 (0) | 2022.12.13 |