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>
版权声明:本文博客原创文章,博客,未经同意,不得转载。
最新文章
- Html --用简单的<;hr>;实现多样化分割效果
- 解决linux系统启动之:unexpected inconsistency:RUN fsck
- 数组操作splice
- Win10开机提示Resume from Hibernation该怎么办?
- 扯扯Java中Finalization的意义
- .net学习笔记----Asp.net的生命周期之一应用程序生命周期
- BZOJ 1036 [ZJOI2008]树的统计Count (树链剖分 - 点权剖分 - 单点权修改)
- Python Django manage.py提供的命令及用法
- 神经网络中误差反向传播(back propagation)算法的工作原理
- 25、Javascript 事件
- Unity3D开发一个2D横版射击游戏
- Android-Launcher开发之ShortCut(1)
- docker数据库
- 《团队-手机app便签-开发文档》
- git status 显示中文乱码
- python中 ImportError: No module XXX的解决办法
- 针对django2.2报错:UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0xa6 in position 9737: ill....
- 揭开Future的神秘面纱——任务取消
- phpstorm + x-debug 进行php调试
- matlab彩色图像插值
热门文章
- ym——Android开发编码规范(自用)
- [Unity3D]Unity3D游戏开发之ACT游戏三连击效果实现综述
- [Linux]Centos git报错fatal: HTTP request failed
- Android入门之简单短信发送器
- 在Laravel中一步一步创建Packages
- 获取Enum枚举值描述的几法方法
- spring web.xml配置服务启动后执行文件
- Python的控制结构(转)
- CI控制器调用内部方法并加载对应模板的做法
- GString及IntelliJIdea中调试Groovy的操作步骤