Dav*_*cia 3 oracle constraints
表可以具有主键属性和对另一个属性的唯一约束吗?
我有以下内容
CREATE TABLE BRANCH(
BRA_CODE NUMBER NOT NULL PRIMARY KEY,
BRA_NAME VARCHAR(15),
BRA_ADDR VARCHAR(30),
CITY_ID NUMBER);
Run Code Online (Sandbox Code Playgroud)
我试图添加
ALTER TABLE BRANCH ADD CONSTRAINT UNIQUE_BRANCH_NAME UNIQUE (BRA_NAME);
Run Code Online (Sandbox Code Playgroud)
我得到以下错误;
ERROR at line 1:
ORA-02261: such unique or primary key already exists in the table
Run Code Online (Sandbox Code Playgroud)
问:表可以有主键属性和对另一个属性的唯一约束吗?
答:是的:
一张表只能有一个主键。
主键可以由多列组成(“复合主键”)
任何列都可能有“唯一约束”,无论它是否是主键列
主键始终是“唯一”的,并且始终具有“唯一”约束
第 1 行出现错误:ORA-02261:表中已存在此类唯一键或主键
答:检查你的架构。您已经有了主键,和/或已经定义了相同的唯一约束。
例如:
http://www.shutdownabort.com/dbaqueries/Structure_Constraints.php
col type format a10
col cons_name format a30
select decode(constraint_type,
'C', 'Check',
'O', 'R/O View',
'P', 'Primary',
'R', 'Foreign',
'U', 'Unique',
'V', 'Check view') type
, constraint_name cons_name
, status
, last_change
from dba_constraints
where table_name like 'BRANCH'
order by 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9465 次 |
| 最近记录: |