Heim  >  Artikel  >  Datenbank  >  Detailliertes Beispiel für das Hinzufügen eindeutiger Einschränkungen durch Oracle

Detailliertes Beispiel für das Hinzufügen eindeutiger Einschränkungen durch Oracle

WBOY
WBOYnach vorne
2022-04-13 18:59:465319Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Oracle und stellt hauptsächlich die damit verbundenen Probleme beim Hinzufügen eindeutiger Einschränkungen vor. Eindeutige Einschränkungen beziehen sich auf Einschränkungen, bei denen ein Feld oder mehrere Felder in der Tabelle einen Datensatz eindeutig identifizieren können Gemeinsam hoffe ich, dass es für alle hilfreich sein wird.

Detailliertes Beispiel für das Hinzufügen eindeutiger Einschränkungen durch Oracle

Empfohlenes Tutorial: „Oracle Video Tutorial

1 Ziel

Verwenden Sie Demonstrationsbeispiele, um zu demonstrieren, wie eindeutige Einschränkungen erstellt, gelöscht, deaktiviert und verwendet werden

2 Was ist eine eindeutige Einschränkung?

Eindeutigkeitsbeschränkung bezieht sich auf die Einschränkung, dass ein Feld oder mehrere Felder in der Tabelle zusammen einen Datensatz eindeutig identifizieren können.

Union-Felder können Nullwerte enthalten.

Hinweis: In Oracle können eindeutige Einschränkungen bis zu 32 Spalten haben.

Eindeutige Einschränkungen können beim Erstellen einer Tabelle oder mit der ALTER TABLE-Anweisung erstellt werden.

3 Der Unterschied zwischen eindeutigen Einschränkungen und Primärschlüsseln

  • Primärschlüssel: Alle Spalten, aus denen der Primärschlüssel besteht, dürfen keine Nullwerte enthalten.
  • Eindeutige Einschränkung: Gehen Sie davon aus, dass die eindeutige Einschränkung aus mehreren Spalten besteht und einige der Spalten Nullwerte enthalten können.
  • Oracle erlaubt nicht das Erstellen sowohl eines Primärschlüssels als auch einer eindeutigen Einschränkung für dieselbe Spalte.

4 Definieren Sie eindeutige Einschränkungen beim Erstellen einer Tabelle

1) Syntax:

CREATE TABLE table_name
(
    column1 datatype null/not null,
    column2 datatype null/not null,
    ...
    CONSTRAINT constraint_name UNIQUE (column1, column2,...,column_n)
);

2) Demonstrationsbeispiel eindeutiger Einschränkungen basierend auf einer einzelnen Spalte:

create table tb_supplier
(
  supplier_id          number not null
 ,supplier_name        varchar2(50)
 ,contact_name         varchar2(50)
 ,CONSTRAINT tb_supplier_u1 UNIQUE (supplier_id)--创建表时创建唯一性约束
);

3) Demonstrationsbeispiel eindeutiger Einschränkungen basierend auf mehreren Spalten Beispiel:

create table tb_products
(
  product_id        number not null,
  product_name      number not null,
  product_type      varchar2(50),
  supplier_id       number,
  CONSTRAINT tb_products_u1 UNIQUE (product_id, product_name) --定义复合唯一性约束
);

5 Verwenden Sie die ALTER TABLE-Syntax, um eine eindeutige Einschränkung zu erstellen

1) Syntax

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
UNIQUE (column1, column2, ... , column_n);

2) Beispielvorbereitung demonstrieren, zuerst eine Tabelle erstellen

drop table tb_supplier;
drop table tb_products;

create table tb_supplier
(
  supplier_id          number not null
 ,supplier_name        varchar2(50)
 ,contact_name         varchar2(50)
);

create table tb_products
(
  product_id        number not null,
  product_name      number not null,
  product_type      varchar2(50),
  supplier_id       number
);

3) Einzelspaltenbasierte eindeutige Einschränkung

alter table tb_supplier
add constraint  tb_supplier_u1
unique (supplier_id);

4) Eindeutige Einschränkungen basierend auf mehreren Spalten

alter table tb_products
add constraint  tb_products_u1
unique (product_id,product_name);

6 Eindeutige Einschränkungen deaktivieren

1) Syntax:

ALTER TABLE table_name
DISABLE CONSTRAINT constraint_name;

2) Demonstrationsbeispiel:

ALTER TABLE tb_supplier
DISABLE CONSTRAINT  tb_supplier_u1;

7 Einzigartige Einschränkungen verwenden

1) Syntax:

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;

2 ) Demonstrationsbeispiel:

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;

7 Eindeutige Einschränkung löschen

1) Syntax:

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

2) Demonstrationsbeispiel:

ALTER TABLE tb_supplier DROP CONSTRAINT tb_supplier_u1;
ALTER TABLE tb_products DROP CONSTRAINT tb_products_u1;

Empfohlenes Tutorial: „Oracle Tutorial

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für das Hinzufügen eindeutiger Einschränkungen durch Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen