http://www.kr.ibm.com 에서 가져왔습니다. -_-;
DB2 UDB V7 에서 추가된 기능중에 테이블에 Data를 Insert 할 때에 DB2에서 컬럼의 값을 자동으로 생성해주는 기능이 있습니다.
CREATE TABLE TESTTB
(TEST INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE )
,NAME VARCHAR (15)
,YEAR INTEGER ) ;
위와 같은 경우라면 데이터 Insert 시에 TEST 컬럼에 초기치 1, 증가치 1로 자동으로 값이 저장됩니다.
제어센터에서 테이블을 만드는 경우에 컬럼 데이터 유형이 Integer, BIGINT, SMALLINT, DECIMAL 이라면
컬럼내용생성 이라는 체크 박스가 활성화 됩니다. 체크박스에 체크를 하고 초기치와 증가치를 설정해주면 됩니다.
위와 같이 만들어진 테이블 이라면
데이터를 Insert 하고 나면 다음과 같은 결과가 나옵니다.
TEST NAME YEAR
----------- --------------- ----------
1 bae 30
2 bat 26
3 KIM 21
###############################################################3
A. Sequence 생성
① db2 connect to sample
② db2 “create sequence s1 start with 2 increment by 3 maxvalue 20 cycle”
B. NEXTVAL
① db2 “values NEXTVAL FOR s1”
② db2 “insert into myempl values (NEXTVAL FOR s1, ‘JOHN’, 50000)
C. Sequence 변경
① db2 “alter sequence s1 minvalue 1”
D. Sequence 삭제
① db2 “drop sequence s1 restrict”
위의 기능은 DB2 V7.2 에서 추가된 기능입니다. 이전버전에서는 없는 기능이니 V7.1을 사용하고 계신다면 FixPak 3를 적용하세요.
>>조풍연 님께서 쓰시길<<
:: 안녕하세요
:: db2에서 시퀀스 문장은 어떻게 쓸수 있나요?
:: 쿡북을 찾아봤는데 모르겠어서요..
:: 시퀀스를 생성하는것과 nextval과 같은 명령은 어떻게 쓸수 잇는지 아시는분은
:: 답변좀 부닥드리겠습니다.
|