В большинстве систем реляционных баз данных, включая Oracle, вы можете автоматически увеличивать столбец первичного ключа, используя последовательность. Последовательность — это объект в Oracle, который генерирует последовательность уникальных чисел. Вы можете связать последовательность со столбцом первичного ключа, чтобы автоматически генерировать новое значение для этого столбца при каждой вставке новой записи.
Вот несколько методов, которые можно использовать для автоматического увеличения первичного ключа в Oracle, а также примеры кода:
Метод 1: использование последовательности и триггера
-- Create a sequence
CREATE SEQUENCE my_sequence START WITH 1 INCREMENT BY 1;
-- Create a table with the auto-increment primary key
CREATE TABLE my_table (
id NUMBER DEFAULT my_sequence.nextval PRIMARY KEY,
name VARCHAR2(50)
);
-- Insert a new record
INSERT INTO my_table (name) VALUES ('John');
Метод 2: использование столбца IDENTITY (Oracle 12c и более поздних версий)
-- Create a table with the auto-increment primary key
CREATE TABLE my_table (
id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY,
name VARCHAR2(50)
);
-- Insert a new record
INSERT INTO my_table (name) VALUES ('John');
Метод 3: использование функции MAX
-- Create a table with the primary key
CREATE TABLE my_table (
id NUMBER PRIMARY KEY,
name VARCHAR2(50)
);
-- Insert a new record with the auto-increment primary key
INSERT INTO my_table (id, name)
VALUES ((SELECT NVL(MAX(id), 0) + 1 FROM my_table), 'John');
Эти методы предоставляют различные способы достижения автоматического увеличения первичных ключей в Oracle. Вы можете выбрать метод, который соответствует вашим требованиям и используемой вами версии Oracle.