In diesem Oracle-Lernprogramm wird erläutert, wie Sie create, drop, disable, and enable a primary key in Oracle mit Syntax und Beispielen.
Beschreibung
In Oracle ist ein Primärschlüssel ein einzelnes Feld oder eine Kombination von Feldern, die einen Datensatz eindeutig definieren. Keines der Felder, die Teil des Primärschlüssels sind, darf einen Nullwert enthalten. Eine Tabelle kann nur einen Primärschlüssel haben.
Notiz
- In Oracle darf ein Primärschlüssel nicht mehr als 32 Spalten enthalten.
- Ein Primärschlüssel kann entweder in einer CREATE TABLE-Anweisung oder einer ALTER TABLE-Anweisung definiert werden.
Create Primary Key - Using CREATE TABLE-Anweisung
Sie können in Oracle mit der Anweisung CREATE TABLE einen Primärschlüssel erstellen.
Syntax
Die Syntax zum Erstellen eines Primärschlüssels mit der CREATE TABLE-Anweisung in Oracle/PLSQL lautet:
(
column1 datatype null/not null,
column2 datatype null/not null,
...
CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n)
);
Beispiel
Sehen wir uns ein Beispiel für die Erstellung eines Primärschlüssels mit der CREATE TABLE-Anweisung in Oracle an:
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) ); |
In diesem Beispiel haben wir in der supplier Tabelle einen Primärschlüssel mit dem Namen supplier_pk erstellt. Es besteht nur aus einem Feld - dem Feld supplier_id.
Wir könnten auch einen Primärschlüssel mit mehr als einem Feld erstellen, wie im folgenden Beispiel:
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) ); |
Create Primary Key - Using ALTER TABLE-Anweisung
Sie können in Oracle mit der Anweisung ALTER TABLE einen Primärschlüssel erstellen.
Syntax
Die Syntax zum Erstellen eines Primärschlüssels mit der ALTER TABLE-Anweisung in Oracle/PLSQL lautet:
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);
Beispiel
Sehen wir uns ein Beispiel für die Erstellung eines Primärschlüssels mit der ALTER TABLE-Anweisung in Oracle an.
1 2 |
ALTER TABLE supplier ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id); |
In diesem Beispiel haben wir einen Primärschlüssel für die vorhandene supplier Tabelle mit dem Namen supplier_pk erstellt. Es besteht aus dem Feld mit dem Namen supplier_id.
Wir könnten auch einen Primärschlüssel mit mehr als einem Feld erstellen, wie im folgenden Beispiel:
1 2 |
ALTER TABLE supplier ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name); |
Drop Primary Key
Sie können einen Primärschlüssel in Oracle mit der Anweisung ALTER TABLE löschen.
Syntax
Die Syntax zum Ablegen eines Primärschlüssels mithilfe der ALTER TABLE-Anweisung in Oracle/PLSQL lautet:
DROP CONSTRAINT constraint_name;
Beispiel
Sehen wir uns ein Beispiel für das Löschen eines Primärschlüssels mit der ALTER TABLE-Anweisung in Oracle an.
1 2 |
ALTER TABLE supplier DROP CONSTRAINT supplier_pk; |
In diesem Beispiel legen wir einen Primärschlüssel in der supplier Tabelle mit dem Namen supplier_pk ab.
Disable Primary Key
Sie können einen Primärschlüssel in Oracle mit der Anweisung ALTER TABLE deaktivieren.
Syntax
Die Syntax zum Deaktivieren eines Primärschlüssels mithilfe der ALTER TABLE-Anweisung in Oracle/PLSQL lautet:
DISABLE CONSTRAINT constraint_name;
Beispiel
Sehen wir uns ein Beispiel für das Deaktivieren eines Primärs mithilfe der Anweisung ALTER TABLE in Oracle an.
1 2 |
ALTER TABLE supplier DISABLE CONSTRAINT supplier_pk; |
In diesem Beispiel deaktivieren wir einen Primärschlüssel in der supplier Tabelle mit dem Namen supplier_pk.
Enable Primary Key
Sie können einen Primärschlüssel in Oracle mit der Anweisung ALTER TABLE aktivieren.
Syntax
Die Syntax zum Aktivieren eines Primärschlüssels mithilfe der ALTER TABLE-Anweisung in Oracle/PLSQL lautet:
ENABLE CONSTRAINT constraint_name;
Beispiel
Sehen wir uns ein Beispiel für die Aktivierung eines Primärschlüssels mit der ALTER TABLE-Anweisung in Oracle an.
1 2 |
ALTER TABLE supplier ENABLE CONSTRAINT supplier_pk; |
In diesem Beispiel aktivieren wir in der supplier Tabelle einen Primärschlüssel mit dem Namen supplier_pk.