❗ 시퀀스 증가값 확인
select LAST_NUMBER from user_sequences where SEQUENCE_NAME='시퀀스 이름';
❗ 시퀀스 0으로 돌리기
alter SEQUENCE CNO INCREMENT BY -시퀀스 증가값 확인한 값+1;
❗ [고유 row를 확인하는 방법 ]
sequence 는 data 삭제햇다 다시 insert하면 마지막 번호부터 다시 시작함
=> 불러온 data 목록 아예 1부터 먹여지는 기능 oracle에는 있음!!! - 고유 row
게시판 번호먹일때 유용할듯
❗ [limit 사용법] - oracle에응 limit이라는 명령어 없음
=> BETWEEN을 이용하여 설정
select * from (select ROWNUM NUM, 테이블명.*from 테이블명)
where NUM BETWEEN 범위시작값 AND 범위종료값;
🔽 요 두개 써서
select * from (select ROWNUM NUM,customer.* from customer order by c_idx desc) where NUM BETWEEN 0 AND 2;
select * from
(select ROW_NUMBER() OVER (order by c_idx desc) test1,
customer.* from customer order by c_idx desc)
where test1 between 1 and 10;
=> 요게 진짜 게시판에 쓰일 수 있을듯
- ROWNUM : 단순 SQL ROW의 번호를 먹이는 명령어 (order by 적용 불가)
- ROW_NUMBER() : Oracle전용 row 함수를 설정하는 명령어 (order by 적용 가능)
[ ROW_NUMBER() 사용하는 방식]
select * from
(select ROW_NUMBER() OVER (order by 컬럼명 desc) test1,
테이블명.* from 테이블명 order by 컬럼명 desc)
where test1 between 1 and 10;
👀view table + join
* view table은 commit 하지 않아도 data 들어가버림
create view 만들viewtable이름 as
select a.컬럼명,b.컬럼명
from 테이블1이름 a, 테이블2이름 b where a.컬럼명 = b.컬럼명;
ex)
create view customer_list as
select a.C_IDX,a.C_ID,a.C_NAME,a.C_HP,a.C_EMAIL,b.C_POINT
from customer a, point b where a.C_IDX = b.C_IDX;
=> join이라는 단어 사용 X -> 대신 , 사용!
* join이라는 단어를 사용하기 위해서는 on을 이용해야 하며, where은 사용하지 못함
ex) select a.id, a.name, b.email from mb1 a join mb2 b on a.idx=b.idx whre a.name='홍길동'
== 요건 홍길동 빠진 위의 , 방식
select a.id,a.name,b.email from mb1 a, mb2 b whre a.idx=b.idx
'CLASS > DATABASE' 카테고리의 다른 글
Oracle 정리 (2) | 2024.09.06 |
---|---|
#6-3/ Oracle+mybatis - selectone/like 사용하는 방식 (0) | 2024.09.06 |
#6-1 / Oracle - data 미러링 , table 제작 상세내역 확인 , trigger (2) | 2024.09.06 |
#5-1 / Oracle - Excel 파일 data입력 , 파일로 저장 (3) | 2024.09.05 |
#4-4 / Oracle + Mybatis 로그인 (0) | 2024.09.04 |