Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2011, 17h37   #1
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 142
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 142
Points : 33
Points : 33
Par défaut Eviter l'insertion de doublon en base

Bonjour,

Voici la problématique :
  • Dans une table, je dispose des colonnes A, B, C et D
  • La colonne A est la clé primaire.
  • Je souhaite contraindre Oracle à ne faire des insertions dans cette table que si le couple B et C est absent de la base (pour éviter l'insertion de doublon).

Oracle préconise d'utiliser de triggers pour rejeter les données que si il n'est pas possible de faire la même vérification via des contraintes d'intégrité.

Quelle est, selon vous, la meilleur solution ?

Merci d'avance pour vos retours
GLSpirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 17h58   #2
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 142
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 142
Points : 33
Points : 33
Le code suivant vous semble correct ?
Code :
1
2
ALTER TABLE MA_TABLEADD CONSTRAINT DoublonTest2 UNIQUE(B, C);
commit;
GLSpirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 18h23   #3
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Oui, à part le commit en trop et l'espace qui manque.
Vous pouvez, comme lors d'une PK, précisez des informations sur l'index dès la définition de la contrainte :
Code :
1
2
3
4
ALTER TABLE MA_TABLE
ADD CONSTRAINT DoublonTest2
      UNIQUE (B, C)
      USING INDEX TABLESPACE ...
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h59.


 
 
 
 
Partenaires

Hébergement Web