2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Oracle之唯一性约束(UNIQUE Constraint)用法详解

Oracle之唯一性约束(UNIQUE Constraint)用法详解

时间:2022-07-19 10:52:39

相关推荐

Oracle之唯一性约束(UNIQUE Constraint)用法详解

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_idnumber 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_namenumber not null,product_typevarchar2(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_idnumber not null,supplier_name varchar2(50),contact_name varchar2(50));create table tb_products(product_id number not null,product_namenumber not null,product_typevarchar2(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;

转载地址:/jssg_tzw/article/details/40981393

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。