В этом учебном материале вы узнаете, как создавать, удалять, отключать и включать primary key (первичный ключ) в Oracle/PLSQL с синтаксисом и примерами.
Что такое primary key?
В Oracle/PLSQL primary key представляет собой одно поле или комбинацию полей, которые определяет уникальность записи. В полях, которые являются частью primary key, не может содержаться значение NULL. Таблица может иметь только один первичный ключ.
Примечание
- В Oracle/PLSQL primary key не может содержать более 32 столбцов.
- Primary key может быть определен либо в операторе CREATE TABLE или в операторе ALTER TABLE.
Создать primary key – при помощи CREATE TABLE
Вы можете создать primary key в Oracle/PLSQL с помощью оператора CREATE TABLE.
Синтаксис
(
column1 datatype null/not null,
column2 datatype null/not null,
...
CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n)
);
Пример
Рассмотрим пример того, как создать primary key, используя оператор Oracle/PLSQL CREATE TABLE:
1 2 3 4 5 6 7 |
CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id) ); |
В этом примере мы создали primary key таблицы supplier c названием supplier_pk. Он состоит только из одного поля - supplier_id.
Мы могли бы также создать primary key с больше чем одним полем, как в примере ниже:
1 2 3 4 5 6 7 |
CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name) ); |
Создать Primary Key – с использованием ALTER TABLE
Вы можете создать primary key в Oracle/PLSQL c помощью ALTER TABLE.
Синтаксис
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);
Пример
Рассмотрим пример того, как создать в Oracle/PLSQL primary key при помощи оператора ALTER TABLE.
- ALTER TABLE supplier
ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id);
В этом примере мы создали primary key существующей таблицы supplier под названием supplier_pk. Он состоит из поля под названием supplier_id.
Мы могли бы также создать primary key с более чем одним полем, как в примере ниже:
1 2 |
ALTER TABLE supplier ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name); |
Удалить primary key
Вы можете удалить primary key в Oracle/PLSQL с помощью оператора ALTER TABLE.
Синтаксис
DROP CONSTRAINT constraint_name;
Пример
Рассмотрим пример того, как удалить primary key с помощью оператора ALTER TABLE.
1 2 |
ALTER TABLE supplier DROP CONSTRAINT supplier_pk; |
В этом примере мы удаляем primary key с названием supplier_pk из таблицы supplier .
Отключить primary key
Вы можете отключить primary key в Oracle/PLSQL с помощью оператора ALTER TABLE.
Синтаксис
DISABLE CONSTRAINT constraint_name;
Пример
Рассмотрим пример того, как в Oracle/PLSQL отключить primary key с помощью оператора ALTER TABLE.
1 2 |
ALTER TABLE supplier DISABLE CONSTRAINT supplier_pk; |
В этом примере мы отключаем primary key таблицы supplier под названием supplier_pk.
Включить primary key
Вы можете включить primary key в Oracle/PLSQL с помощью оператора ALTER TABLE.
Синтаксис
ENABLE CONSTRAINT constraint_name;
Пример
Рассмотрим пример того, как в Oracle/PLSQL включить primary key c помощью оператора ALTER TABLE.
1 2 |
ALTER TABLE supplier ENABLE CONSTRAINT supplier_pk; |
В этом примере мы включаем primary key таблицы supplier с названием supplier_pk.