-
Oracle | PL/SQL唯一索引(Unique Constraint)用法
1 目标
用示例演示如何创建、删除、禁用和使用唯一性约束。
2 什么是唯一性约束?
唯一性约束指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束。联合字段中,可以包含空值。
注:在Oracle中,唯一性约束最多可以有32列。
唯一性约束可以在创建表时或使用ALTER TABLE语句创建。
3 唯一性约束和主键的区别
主键(Primary Key):所有组成主键的列都不能包含空值。唯一性约束(Unique Constraint):如果唯一性约束由多列组成,其中的部分列可以包含空值。Oracle中不容许在相同列上既创建主键又创建唯一性约束。4 创建表时定义唯一性约束
1)语法:
1234567CREATETABLEtable_name(column1 datatypenull/notnull,column2 datatypenull/notnull,...CONSTRAINTconstraint_nameUNIQUE(column1, column2,...,column_n));2)基于单列的唯一性约束示例:
1234567createtabletb_supplier(supplier_id numbernotnull,supplier_name varchar2(50),contact_name varchar2(50),CONSTRAINTtb_supplier_u1UNIQUE(supplier_id)--创建表时创建唯一性约束);3)基于多列的唯一性约束示例:
12345678createtabletb_products(product_id numbernotnull,product_name numbernotnull,product_type varchar2(50),supplier_id number,CONSTRAINTtb_products_u1UNIQUE(product_id, product_name)--定义复合唯一性约束);5 使用ALTER TABLE语法创建唯一性约束
1)语法
123ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameUNIQUE(column1, column2, ... , column_n);2)示例准备,先创建表
1234567891011121314151617droptabletb_supplier;droptabletb_products;createtabletb_supplier(supplier_id numbernotnull,supplier_name varchar2(50),contact_name varchar2(50));createtabletb_products(product_id numbernotnull,product_name numbernotnull,product_type varchar2(50),supplier_id number);3)基于单列的唯一性约束
123altertabletb_supplieraddconstrainttb_supplier_u1unique(supplier_id);4)基于多列的唯一性约束
123altertabletb_productsaddconstrainttb_products_u1unique(product_id,product_name);6 禁用唯一性约束
1)语法:
12ALTERTABLEtable_nameDISABLECONSTRAINTconstraint_name;2)示例:
12ALTERTABLEtb_supplierDISABLECONSTRAINTtb_supplier_u1;7 使用唯一性约束
1)语法:
12ALTERTABLEtable_nameENABLECONSTRAINTconstraint_name;2)示例:
12ALTERTABLEtb_supplierENABLECONSTRAINTtb_supplier_u1;8 删除唯一性约束
1)语法:
12ALTERTABLEtable_nameDROPCONSTRAINTconstraint_name;2)示例:
-----------------------------------------------------------------------------------12ALTERTABLEtb_supplierDROPCONSTRAINTtb_supplier_u1;ALTERTABLEtb_productsDROPCONSTRAINTtb_products_u1;
Oracle之唯一性约束(UNIQUEConstraint)用法详解
最新推荐文章于 2023-08-02 15:15:09 发布
本文介绍Oracle数据库中唯一性约束(Unique Constraint)的概念、创建、禁用、启用及删除的方法。唯一性约束确保表中一个或多个字段值的唯一性,支持空值,适用于复合唯一键场景。
1242

被折叠的 条评论
为什么被折叠?



