oracle中约束unique,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>

版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值