oracle添加唯一约束会锁表吗

oracle添加唯一约束会锁表吗,第1张

不会。

唯一约束用于保证表中某个或某些列的值唯一,当插入或修改数据时,Oracle会自动检查这些列的值是否唯一,不唯一则会报错。在添加唯一约束时,Oracle会在表的数据字典中添加约束信息,不会锁定表或表中的数据。

Oracle是一种关系型数据库管理系统,由Oracle公司开发和维护。Oracle数据库系统是目前世界上应用最广泛的关系型数据库之一。

有两种方法:

1.

字段设置为主码(一个表只能定义一个主码):

a.创建表时设置主码:语句格式

create

teable

表名(

字段名

类型及长度

primary

key,...)

b.创建完表后给表添加主码(前提条件:表无主码,且将要设置为主码的列必须不允许空值、已存在的值不允许重复)

alter

table

表名

add

primary

key(列名)

2.

设置字段为唯一值约束(一个表可以定义多个唯一值约束):

a.

创建表时设置唯一值约束

create

table

表名(...

,

字段名

类型及长度

unique,

...)

b.创建完表后添加唯一值约束(前提条件:将要设置唯一值约束的列已存在的值必须不重)

alter

table

表名

add

unique(列名)

有两种方法:

(1)视图dba_constraints

(2)视图dba_indexes

设置一个字段,为主键,这个主键就是不重复的,主键的内容可以使用oracle的sequence。

方法一、

视图dba_constraints,这张表中有所有的表的约束,拥有唯一约束的字段就拥有唯一索引,其中Constraint_type的值应该是U,不过值是R的表示主键,这个也存在唯一索引,不知道你要不要找这种,所以个人认为在这张表内能找到。

方法二:

视图dba_indexes,这里的index_type应该也能查到唯一索引。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11400417.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存