oracle的unique约束
unique约束是唯一性约束,对于需要列类型应用程序会重复出现分歧值。您可以加入一个单独的列unique约束。能够加入多个列unique约束()。假设为多个列加入一个unique约束,仅仅须要保证这多个列的值不会所有同样就可以。
在创建表时,为列加入unique约束。形式例如以下:
column_name data_type [constraint constraint_name] unique或
create table table_name(
column_name data_type,[,...]
[constraint constraint_name] unique(column_name)
[,...]
)
也能够为已经创建的表中的列提娜姬unique约束,这时就须要使用alter talbe ..add语句。形式例如以下:
alter table table_name add [constraint constraint_name] unique(column_name);
删除unique约束
删除列上的unique约束,能够使用alter table...drop语句,形式例如以下:
alter table table_name drop unique(column_name)
假设约束有名称。也能够使用指定名称的方式删除该约束,语句形式例如以下:
alter table table drop constraint constraint_name;
详细的操作例如以下:
SQL> create table person
2 (pid number(4) not null unique,
3 pname varchar2(10) unique,
4 sex char(2)
5 );
表已创建。
上面创建一张person表,为pid和pname都指定唯一约束
SQL> insert into person values(1,'aaa','女');
已创建 1 行。
SQL> insert into person values(2,'aaa','女');
insert into person values(2,'aaa','女')
*
第 1 行出现错误:
ORA-00001: 违反唯一约束条件 (SYSTEM.SYS_C0010079)
SQL> insert into person values(2,'abcd','女');
已创建 1 行。
如上面所看到的,当加入的名字同样时报错。
SQL> insert into person values(2,'abcd','女');
已创建 1 行
改动下pname。此时就没报错。
再创建还有一张表。
SQL> create table p2(
2 pid number(4),
3 pname varchar2(10),
4 psex char(2),
5 constraint p2_unique unique(pid,pname)
6 );
表已创建。
SQL> alter table p2 add constraint unique_p2sex unique(psex); --为psex加入unique
表已更改。
SQL> alter table p2 drop unique (psex); --删除unique唯一约束
表已更改。
SQL> alter table p2 drop constraint p2_unique;
表改变。
SQL>
版权声明:本文博客原创文章,博客,未经同意,不得转载。
oracle的unique约束的更多相关文章
- SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束
CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...
- Oracle primary,unique,foreign 区别,Hibernate 关联映射
Oracle primary,unique,foreign 区别 转:http://www.cnblogs.com/henw/archive/2012/08/15/2639510.html NOT N ...
- sql unique约束详解
UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 UNIQUE 约束. 请注意 ...
- SQL UNIQUE 约束
SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 ...
- SQL-W3School-高级:SQL UNIQUE 约束
ylbtech-SQL-W3School-高级:SQL UNIQUE 约束 1.返回顶部 1. SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIM ...
- Oracle表级约束和列级约束
Oracle表级约束和列级约束 1. 表级定义约束 指的是在定义完一个表所有列之后,再去定义所有相关的约束. 注意:not null 约束只能在列级上定义. 2. 列级定义约束 指的是在定义一个表的每 ...
- Oracle 数据完整性与约束机制
为了维护数据库数据的完整性,在创建表时需要定义一些约束,Oracle中的约束类型包括:非空约束.主键约束.唯一约束.外键约束等.在对约束操作前,我们可以通过表名查询它具有的约束信息. 表约束 SELE ...
- Oracle双字段约束
Oracle里有unique约束,意思是该字段唯一. 但如果是两个字段呢? 比如说一个会员等级表 ID NAME POINT DISCOUNT PRIVILEGE MID 1019 普通会员 0 10 ...
- Constraint5:unique 约束和null
unique约束使用unique index来限制列值的唯一性: 创建unique约束之后,column中允许插入null值,unique 约束将两个null值看作是相同的(即null=null为tr ...
随机推荐
- mysql基础:登录退出,修改用户密码,添加删除用户
今天刚开始学习mysql,最先接触用户管理,给大家分享下 注:mysql中命令的大小写都可以的 ==========登录退出相关=================== root@jack-deskto ...
- Android的编译系统
一.Makefile的主要流程 以下主要流程都在build/core/main.mk里安排. l 初始化相关的参数设置(buildspec.mk.envsetup.mk.config.mk) ...
- 【iOS开发】 常遇到的Crash和Bug处理
一,Unknown type name .... 如果是报这个错误,多半是你的对象类型没有被识别,检查是不是没有引用对应的库或者头文件在你的文件头部分,还有可能是循环引用导致的,循环引用的解决方法就是 ...
- android动画-动画分类及代码演示样例
原来一直对动画一知半解,仅仅知道依照网上的方法会用即可了,可是自己写起来感觉确实有点费劲,今天最终研究了代码实现,一下子感觉清晰多了.先把总结例如以下,代码中有具体的凝视. 动画分类 1.Peoper ...
- Python 类继承,__bases__, __mro__, super
Python是面向对象的编程语言,也支持类继承. >>> class Base: ... pass ... >>> class Derived(Base): ... ...
- HDU 4940(杭电更多的学校#7 1006) Destroy Transportation system(到处乱混)
职务地址:pid=4940">HDU 4940 当时这个题一看就看出来了是网络流的最小割.然后就一直在想建图. .然后突然发现,应该要让T集合的数目最少,不然仅仅要有两个,那这两个的每 ...
- HTTP协议中的短轮询、长轮询、长连接和短连接
HTTP协议中的短轮询.长轮询.长连接和短连接 引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接 ...
- Android Fragment使用
通常地 fragment做为宿主activity UI的一部分, 被作为activity整个view hierarchy的一部分被嵌入. 有2种方法你能够加入一个fr ...
- UVA12304 2D Geometry 110 in 1! 计算几何
计算几何: 堆几何模版就能够了. . .. Description Problem E 2D Geometry 110 in 1! This is a collection of 110 (in bi ...
- ConcurrentHashMap中的2的n次方幂上舍入方法(转)
最近看JDK中的concurrentHashMap类的源码,其中有那么一个函数: /** * Returns a power of two table size for the given desir ...