Oracle之唯一性约束(UNIQUEConstraint)用法详解
来源:互联网 发布:淘宝招聘客服 编辑:程序博客网 时间:2024/06/06 18:51
用示例演示如何创建、删除、禁用和使用唯一性约束。
2 什么是唯一性约束?
唯一性约束指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束。联合字段中,可以包含空值。
注:在Oracle中,唯一性约束最多可以有32列。
唯一性约束可以在创建表时或使用ALTER TABLE语句创建。
3 唯一性约束和主键的区别
主键(Primary Key):所有组成主键的列都不能包含空值。唯一性约束(Unique Constraint):如果唯一性约束由多列组成,其中的部分列可以包含空值。Oracle中不容许在相同列上既创建主键又创建唯一性约束。
4 创建表时定义唯一性约束
1)语法:
1
2
3
4
5
6
7
CREATE
TABLE
table_name
(
column1 datatype
null
/
not
null
,
column2 datatype
null
/
not
null
,
...
CONSTRAINT
constraint_name
UNIQUE
(column1, column2,...,column_n)
);
2)基于单列的唯一性约束示例:
1
2
3
4
5
6
7
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)基于多列的唯一性约束示例:
1
2
3
4
5
6
7
8
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)语法
1
2
3
ALTER
TABLE
table_name
ADD
CONSTRAINT
constraint_name
UNIQUE
(column1, column2, ... , column_n);
2)示例准备,先创建表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)基于单列的唯一性约束
1
2
3
alter
table
tb_supplier
add
constraint
tb_supplier_u1
unique
(supplier_id);
4)基于多列的唯一性约束
1
2
3
alter
table
tb_products
add
constraint
tb_products_u1
unique
(product_id,product_name);
6 禁用唯一性约束
1)语法:
1
2
ALTER
TABLE
table_name
DISABLE
CONSTRAINT
constraint_name;
2)示例:
1
2
ALTER
TABLE
tb_supplier
DISABLE
CONSTRAINT
tb_supplier_u1;
7 使用唯一性约束
1)语法:
1
2
ALTER
TABLE
table_name
ENABLE
CONSTRAINT
constraint_name;
2)示例:
1
2
ALTER
TABLE
tb_supplier
ENABLE
CONSTRAINT
tb_supplier_u1;
8 删除唯一性约束
1)语法:
1
2
ALTER
TABLE
table_name
DROP
CONSTRAINT
constraint_name;
2)示例:
1
2
ALTER
TABLE
tb_supplier
DROP
CONSTRAINT
tb_supplier_u1;
ALTER
TABLE
tb_products
DROP
CONSTRAINT
tb_products_u1;
转自:http://www.2cto.com/database/201411/351117.html
0 0
- Oracle之唯一性约束(UNIQUEConstraint)用法详解
- Oracle之唯一性约束(UNIQUEConstraint)用法详解
- Oracle之唯一性约束(UNIQUEConstraint)用法详解
- Oracle之唯一性约束(UNIQUEConstraint)用法详解
- Oracle之唯一性约束(UNIQUEConstraint)用法详解
- Oracle之唯一性约束(UNIQUE Constraint)用法详解
- Oracle之唯一性约束(UNIQUE Constraint)用法详解
- oracle唯一性约束和索引(转)
- oracle 创建、删除唯一性约束
- oracle 唯一约束
- Oracle-15-唯一约束
- Oracle删除唯一约束
- oracle唯一索引和唯一约束
- oracle 唯一约束 和 唯一索引
- oracle 主键 唯一约束 索引
- Oracle添加/删除唯一约束
- Oracle数据库的唯一约束
- 主键约束、唯一性约束、检查约束
- Socket网络编程中的函数详解
- html5标签figure、figcaption
- 使用log_format为Nginx服务器设置更详细的日志格式
- Volatile关键字的使用
- 基于Kafka 0.9版本 使用ACL进行权限控制
- Oracle之唯一性约束(UNIQUEConstraint)用法详解
- android IOS java使用DES统一加密策略
- .net 的SSH操作linux文件
- Java学习之继承
- SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.Oracle ’
- CAS硬件指令
- 超详细搭建PhpStorm+PhpStudy开发环境
- 关于nested transactions not supported的问题
- Shape Number HDU