ホームページ >データベース >Oracle >Oracle による一意制約の追加の詳細な例

Oracle による一意制約の追加の詳細な例

WBOY
WBOY転載
2022-04-13 18:59:465411ブラウズ

この記事では、Oracle に関する関連知識を提供します。主に一意制約の追加に関連する問題について説明します。一意制約とは、テーブル内の 1 つまたは複数のフィールドを組み合わせると一意になる可能性があることを意味します。レコードをマークする制約について説明します。これが皆様のお役に立てば幸いです。

Oracle による一意制約の追加の詳細な例

推奨チュートリアル: 「Oracle ビデオ チュートリアル

1 ターゲット

使用方法デモ例では、一意制約の作成、削除、無効化、使用方法を示します

2 一意制約とは何ですか?

一意性制約とは、テーブル内の 1 つのフィールドまたは複数のフィールドを組み合わせてレコードを一意に識別できる制約を指します。

Union フィールドには null 値を含めることができます。

注: Oracle では、一意制約には最大 32 列を含めることができます。

一意制約は、テーブルの作成時または ALTER TABLE ステートメントの使用時に作成できます。

3 一意性制約と主キーの違い

  • 主キー: 主キーを構成するすべての列に null 値を含めることはできません。
  • 一意制約: 一意制約は複数の列で構成されており、その一部には NULL 値が含まれる可能性があると想定します。
  • Oracle では、同じ列に主キーと一意制約の両方を作成することはできません。

4 テーブルの作成時に一意制約を定義します

1) 構文:

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

2) に基づく単一列 一意制約のデモ サンプル:

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) 複数列に基づく一意制約のデモ サンプル:

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 ALTER TABLE 構文を使用して一意制約を作成します

1) 構文

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

2) デモ サンプルの準備、最初にテーブルを作成します

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) 単一列に基づく一意の制約

alter table tb_supplier
add constraint  tb_supplier_u1
unique (supplier_id);

4)複数の列に基づく一意の制約

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

6 一意の制約を無効にする

1) 構文:

ALTER TABLE table_name
DISABLE CONSTRAINT constraint_name;

2) デモの例:

ALTER TABLE tb_supplier
DISABLE CONSTRAINT  tb_supplier_u1;

7 一意制約の使用

#1) 構文:

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;

2) デモ例:

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;

7 一意制約の削除

1) 構文:

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

2) デモ例:

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

推奨チュートリアル: "

Oracle Tutorial"

以上がOracle による一意制約の追加の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。