카테고리

Show All (635)
ZeLkOvA (346)
Study (45)
Wizard Works (17)
ETC. (226)
Trash Box (0)

달력

« » 2024.4
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
Total
Today
Yesterday

최근에 올라온 글

최근에 달린 댓글

글 보관함

난 도대체 왜 오라클에 auto increment가 없는지 이해할 수 없다.
솔직히 그 기능 있으면 얼마나 편하고 좋냔 말이다..
너네 방법도 좋지만 쿼리 날리기 귀찮단 말이다. 그냥 알아서 올려주면 안될까??

암튼 사용법을 보자.

시퀀스 테스트를 위해 임의의 테이블을 만들어 보자.


이제 test라는 테이블에 시퀀스를 만든다.

CREATE SEQUENCE : sq_test 이름의 시퀀스 생성
INCREMENT BY 1 : 자동 증가 컬럼의 증가치가 1
START WITH 10000 : 자동 증가 컬럼이 10000부터 증가


이렇게 하면 sq_test를 사용하여 sq_id를 자동 증가 컬럼으로 사용할 수 있다.

테스트용 데이터 입력

sq_id에 MYSQ.NEXTVAL이라는 데이터를 입력했는데, 시퀀스의 다음값을 가져온다.
(시퀀스를 사용할 때 NEXTVAL이라는 슈도 컬럼(Pseudo-column)을 사용)

실제로 sq_id에 값이 어떻게 들어갔는지 확인해보자.



SQ_ID            SQ_NAME
----------------------
10000            이순신


시퀀스 생성시에 START WITH 10000; 라고 했기 때문에 10000 부터 시작한다.

다시 한번 데이타를 입력하고 확인해보면


SQ_ID            SQ_NAME
----------------------
10000            이순신
10001            홍길동
 
 
10000 에서 1이 자동증가하여 10001이라는 값이 입력된다.

SQ_NAME이 '홍길동'인 라인을 지우고 '김철수' 데이터를 새로 입력해보자.

SQ_ID            SQ_NAME
----------------------
10000            이순신
 


SQ_ID            SQ_NAME
----------------------
10000            이순신
10002            김철수

mysql이나 mssql의 auto increment(자동증가)와도 동일하게,
한번 자동 증가된 값은 삭제되어도 다시 사용할 수 없다.
 
또한 시퀀스를 생성할 때, 값의 범위를 지정할 수도 있다.


이렇게 시퀀스를 생성하면, 100부터 시작하고 값은 1~1000 사이의 값만 생성을 시킬 수 있다.

참고 사이트 - 아이우림

그나저나 스킨때문에 그런가 syntextHighlighter가 제대로 안보이네...
SyntexHighlighter를 파일 다 업로드하고 .css파일을 연결을 안시켜놨었다.
그래놓고 제대로 안보인다 그러고 있었으니.. 치명적인 쪽팔림이다.
Posted by 성주
, |