Oracle之唯一性限制式(UNIQUE Constraint)使用方法具體解釋

來源:互聯網
上載者:User

標籤:欄位   type   刪除   過程   基於   ora   center   記錄   禁用   

Oracle | PL/SQL唯一索引(Unique Constraint)使用方法

1 目標

用示範範例示範怎樣建立、刪除、禁用和使用唯一性限制式。


2 什麼是唯一性限制式?

唯一性限制式指表中一個欄位或者多個欄位聯合起來可以唯一標識一條記錄的約束。

聯合欄位中,可以包括空值。

註:在Oracle中,唯一性限制式最多能夠有32列。

唯一性限制式能夠在建立表時或使用ALTER TABLE語句建立。


3 唯一性限制式和主鍵的差別

  • 主鍵(Primary Key):全部組成主鍵的列都不能包括空值。

  • 唯一性限制式(Unique Constraint):假設唯一性限制式由多列組成,當中的部分列能夠包括空值。
  • 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_nameADD CONSTRAINT constraint_nameUNIQUE (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_supplieradd constraint  tb_supplier_u1unique (supplier_id);

4)基於多列的唯一性限制式

alter table tb_productsadd constraint  tb_products_u1unique (product_id,product_name);

6 禁用唯一性限制式1)文法:

ALTER TABLE table_nameDISABLE CONSTRAINT constraint_name;

2)示範範例:

ALTER TABLE tb_supplierDISABLE CONSTRAINT  tb_supplier_u1;

7 使用唯一性限制式1)文法:

ALTER TABLE table_nameENABLE CONSTRAINT constraint_name;

2)示範範例:

ALTER TABLE tb_supplierENABLE CONSTRAINT tb_supplier_u1;

8  刪除唯一性限制式1)文法:

ALTER TABLE table_nameDROP CONSTRAINT constraint_name;

2)示範範例:

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

---------------------------------------------------------------------------------------------------------

假設您們在嘗試的過程中遇到什麼問題或者My Code有錯誤的地方,請給予指正,很感謝!

連絡方式:[email protected]

著作權@:轉載請標明出處!
----------------------------------------------------------------------------------------------------------



Oracle之唯一性限制式(UNIQUE Constraint)使用方法具體解釋

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.