>  기사  >  데이터 베이스  >  Oracle이 고유 제약 조건을 추가하는 자세한 예

Oracle이 고유 제약 조건을 추가하는 자세한 예

WBOY
WBOY앞으로
2022-04-13 18:59:465320검색

이 문서에서는 Oracle에 대한 관련 지식을 제공하며, 주로 고유 제약 조건 추가와 관련된 문제를 소개합니다. 고유 제약 조건은 테이블의 하나 또는 여러 필드가 레코드를 고유하게 식별할 수 있는 제약 조건을 살펴보겠습니다. 함께, 모두에게 도움이 되기를 바랍니다.

Oracle이 고유 제약 조건을 추가하는 자세한 예

추천 튜토리얼: "Oracle Video Tutorial"

1 목표

데모 예제를 사용하여 고유 제약 조건을 생성, 삭제, 비활성화 및 사용하는 방법을 보여줍니다.

2 고유 제약 조건이란 무엇입니까?

고유성 제약 조건은 결합된 테이블의 하나의 필드 또는 여러 필드가 레코드를 고유하게 식별할 수 있다는 제약 조건을 나타냅니다.

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) 여러 열을 기반으로 한 고유 제약 조건 데모 샘플 columns 예:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제