티스토리 뷰
사용하던 Oracle 11g에서 업그레이드 되어 시퀀스로만 관리되었던 PK를 12c 이상부터 지원되는 Identity Column 속성을 사용할 수 있어 해당 Sequence와 비교해보았다.
시퀀스(Sequence):
- 시퀀스는 데이터베이스 객체로, 정수 값 시퀀스를 생성하는 데 사용됩니다.
- 보통 특정 테이블의 열과 연결되지 않고, 데이터베이스 레벨에서 관리됩니다.
- 시퀀스는 다양한 테이블에서 동일한 시퀀스를 사용할 수 있습니다.
- 시퀀스는 순차적으로 증가하거나 감소하는 정수 값을 생성하며, 다음 값을 미리 예측할 수 있습니다.
- 주로 기본 키(
primary key
)를 생성하기 위해 사용됩니다.
CREATE SEQUENCE employee_id_seq
START WITH 1
INCREMENT BY 1
NOMAXVALUE;
IDENTITY Column(IDENTITY 컬럼):
- Oracle 12c부터 도입된 개념으로 특정 열에 IDENTITY 속성을 부여하여, 자동으로 증가하는 값을 생성합니다.
- 열 당 하나의 IDENTITY 속성만 설정할 수 있으며, 일반적으로 기본 키(PK)에 사용합니다.
- 열의 데이터 유형은 일반적으로 정수(Integer)입니다.
- IDENTITY 속성은 시퀀스와 달리 데이터베이스 레벨에서 관리되는 것이 아니라 해당 테이블의 열 레벨에서 관리됩니다.
CREATE TABLE employees (
employee_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
first_name VARCHAR2(50),
last_name VARCHAR2(50)
);
MySQL AUTO_INCREMENT:
- 열을 생성할 때나 ALTER TABLE 문을 사용하여 나중에 AUTO_INCREMENT 속성을 추가할 수 있습니다.
- AUTO_INCREMENT 속성은 해당 테이블의 column에 적용됩니다.
CREATE TABLE employees (
employee_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50)
);
#oracle #autoincreament #identity_column #sequence
'공부합시다' 카테고리의 다른 글
Bitwarden-cli 사용하기 (0) | 2024.08.22 |
---|---|
TDD AAA 패턴 (0) | 2024.07.04 |
VIM 명령어 (0) | 2023.07.07 |
git merged branch 삭제하기 (0) | 2022.04.18 |
JS Array 중복 제거하는 방법 ES6 (0) | 2021.08.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- laravel-kafka
- 테스트_다중트랜잭션
- laravel-test
- observer 매개변수 전달하기
- Laravel
- 정의
- 메일
- php
- eloquent-observer
- l5-swagger-response
- password-manager
- Python
- addMonth
- aaa패턴
- POP3
- graphql-php
- session+token authorize
- 정규식
- 자바스크립트
- exception-test
- addMonthWithoutOverflow
- bitwarden-cli
- MySQL
- 라라벨
- graphql
- php-laravel
- vim
- l5-swagger
- redis
- django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함