일련번호를 생성하기 위해 기존에 인터베이스 시절부터 사용해왔던 제너레이터 외에 SQL-99 표준인 SEQUENCE 문법이 추가되었습니다. (물론 기존의 제너레이터도 그대로 사용가능합니다) 표준인만큼 제너레이터보다 시퀀스를 더 권장하는군요.
생성되는 시퀀스 넘버는 dialect 1에서는 integer, dialect 3에서는 bigint 타입의 값이며, 아직은 1씩밖에 증가를 못한다고 합니다. 기존의 제너레이터는 1외의 값으로 증가할 수 있고, 시퀀스에서도 추후 버전에서 지원할 예정이라고 합니다.
다음의 문법으로 시퀀스를 생성하고,
CREATE SEQUENCE S_EMPLOYEE;
다음의 문법으로 시퀀스 시작 값을 재지정할 수 있습니다.
ALTER SEQUENCE S_EMPLOYEE RESTART WITH 0;
시퀀스의 값을 가져오려면 NEXT VALUE FOR 문법을 이용합니다.
INSERT INTO EMPLOYEE (ID, NAME)
VALUES (NEXT VALUE FOR S_EMPLOYEE, 'JohnSmith');
|