{{htmlmetatags>
metatag-description=(일련번호, Serial Number, 자동 증가, Auto Increment, 시퀀스, Sequence, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL)
metatag-og:description=(일련번호, Serial Number, 자동 증가, Auto Increment, 시퀀스, Sequence, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL)
}}
====== 일련번호 생성 ======
최소 지원 버전은 약간의 차이가 있을 수 있습니다.
===== 테이블 명세 =====
^ 물리명 ^ 논리명 ^ 타입 ^ 길이 ^ KEY ^
| 일련번호 | sn | 숫자형 | | PK |
| 값 | value | 문자형 | 100 | |
===== MySQL/MariaDB =====
/*
MySQL 3.0 이상/MariaDB 5.1 이상
*/
CREATE TABLE ex_serial_number (
sn BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY,
value VARCHAR(100) NOT NULL
);
-- 자동 증가
INSERT INTO ex_serial_number (value) VALUES ('값');
===== MSSQL =====
/*
MSSQL 7.0 이상
*/
CREATE TABLE ex_serial_number (
sn BIGINT IDENTITY (1, 1) NOT NULL PRIMARY KEY,
value VARCHAR(100) NOT NULL
);
-- 자동 증가
INSERT INTO ex_serial_number (value) VALUES ('값');
===== Oracle/Tibero =====
CREATE TABLE ex_serial_number (
sn NUMBER NOT NULL PRIMARY KEY,
value VARCHAR(100) NOT NULL
);
/*
Oracle 8i 이상/Tibero 6 이상
*/
CREATE SEQUENCE ex_serial_number_seq
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9999999999999999999999999999 -- 최댓값은 양의 정수 28자리
NOCYCLE
CACHE 20
NOORDER
;
-- 시퀀스
INSERT INTO ex_serial_number (sn, value) VALUES (ex_serial_number_seq.NEXTVAL, '값');
===== PostgreSQL =====
/*
PostgreSQL 8.4 이상
*/
CREATE TABLE ex_serial_number (
sn BIGSERIAL NOT NULL PRIMARY KEY,
value VARCHAR(100) NOT NULL
);
-- 자동 증가
INSERT INTO ex_serial_number (value) VALUES ('값');
{{tag>"쿼리" "Query" "기본"}}