Q : Une table peut-elle avoir un attribut de clé primaire et une contrainte unique sur un autre attribut ? un autre attribut ?
R : Oui :
-
Une table ne peut avoir plus d'une clé primaire.
-
Une clé primaire peut être constituée de plusieurs colonnes (une "clé primaire composite").
-
Toute colonne peut avoir une "contrainte unique", qu'il s'agisse ou non d'une colonne à clé primaire.
-
Une clé primaire est toujours "unique", et possède toujours une contrainte "unique".
ERREUR à la ligne 1 : ORA-02261 : une telle clé unique ou primaire existe déjà dans la table
R : Vérifiez votre schéma. Vous avez déjà une clé primaire, et/ou vous avez déjà défini la même contrainte unique.
Par exemple :
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