>데이터 베이스 >MySQL 튜토리얼 >기존 Oracle 기본 키 열을 자동 증가시키려면 어떻게 해야 합니까?

기존 Oracle 기본 키 열을 자동 증가시키려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-27 00:28:17143검색

How Can I Make an Existing Oracle Primary Key Column Auto-Increment?

기존 Oracle 테이블 열에 대한 자동 증분 변환

문제:

이미 다음으로 지정된 기존 열을 어떻게 사용할 수 있습니까? 기본 키를 Oracle 데이터베이스에서 자동 증가하도록 구성하시겠습니까? 열이 VARCHAR2(9 BYTE) 데이터 유형으로 생성되었습니다.

해결책:

Oracle 11g 및 이전(12c 이전): 시퀀스 및 트리거

  1. 생성 시퀀스: 시작 값이 150111111이고 증분 단계가 1인 t_seq와 같은 시퀀스를 설정합니다.
  2. 트리거 구현: 열을 채우는 BEFORE INSERT 트리거를 개발합니다. 열 값이 다음인 경우 시퀀스의 다음 값으로 NULL.

Oracle 12c 이상: ID 열

  1. ID 열 활용: 테이블에 IDENTITY 열을 정의합니다. 150111111로 시작하고 씩 증가하는 생성 문 1.

예:

CREATE TABLE t (
    ID NUMBER GENERATED ALWAYS AS IDENTITY
    START WITH 150111111 INCREMENT BY 1,
    text VARCHAR2(50)
);

ID 열의 이점:

  • 자동 단순화 - 시퀀스나 필요 없이 증분 구현 트리거.
  • 지정된 열에 대해 고유하고 순차적인 값을 보장합니다.

추가 정보:

  • Oracle은 시퀀스( ISEQ$$)를 사용하여 ID 열을 지원합니다.
  • 자동 증가 모니터링 ALL_TAB_IDENTITY_COLS 보기를 사용하여 정보를 확인하세요.

위 내용은 기존 Oracle 기본 키 열을 자동 증가시키려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.