begin process at 2012 05 26 13:49:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Débutant(s)

 > 

Contraintes d'unicité sur 2 champs identiques


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Contraintes d'unicité sur 2 champs identiques

jeudi 10 février 2011 à 09:29:53 | Contraintes d'unicité sur 2 champs identiques

glebian

Bonjour,
j'ai une table avec 3 champs : Id, IdBT1,IdBT2
Cette table me permet d'avoir une liste de couples de BTS (grâce à IdBT1 et IdBT2).
J'aimerais créer une contrainte qui rend les couples unique dans les deux sens.
Exemple :
Id | BT1 | BT2
1 | 1 | 2
2 | 1 | 2 erreur quand on veut insérer cette ligne ça je sais faire
3 | 2 | 1 Dans ce cas je veux aussi que l'on interdise l'ajout car 1-2 ou 2-1 ça reste le même couple.

Comme je l'ai écris je sais gérer le cas ou l'on a BT1 et BT2 exactement pareil avec un index unique qui regroupe les deux champs mais cela ne gère pas mon 2eme cas. Avez vous une idée ou n'aurais je d'autre choix que de créer un trigger?
mardi 22 février 2011 à 20:06:45 | Re : Contraintes d'unicité sur 2 champs identiques

EricSQL


Bonjour,

à la place d'un Trigger, tu peux faire un index fonction (supposé que SQL Server les supporte).

/Eric
jeudi 10 mars 2011 à 10:54:11 | Re : Contraintes d'unicité sur 2 champs identiques

hassane86

Bonjour,
une petite proposition même si elle est conne mai sa peut marché.
bah tu fait la même chose que pour le premier cas (2 | 1 | 2), tu va faire une requête sql en inversion les 2 variable a la recherche :
if(($BT2 == BT1) and ($BT1 == BT2))
et en utilisant le mtsql_num_rows() si tu elle renvoi quelque chose tu interdit l'insertion, et si elle renvoi rien tu permet l'insertion .

j'espère que ma réponse est claire

Bon courage


Cette discussion est classée dans : champs, cas, contraintes, identiques, unicité


Répondre à ce message

Sujets en rapport avec ce message

Mysql - Unicité de plusieurs champs [ par fone ] Bonjour, Je dispose d'une table qui utilise innoDB, elle à une structure similaire à celle-ci : int id <- auto incremental, unique varchar(255) a, v Transfert de toutes les valeurs d'un champs vers une autre [ par Imoreion ] Salut :D Je voudrais transférer toutes les valeurs d'un champs d'une table vers une autre. J'ai trouvé la méthode Code Couper un champ en deux [ par MasterCent ] Bonjour à tous :// Ceci n'est pas un dépanage, mais une préparation à une formation en Access !!! // // Je n'ai pas besoin d'aide, mais plutôt d'idées Somme de champs MySQL [ par dthuler ] Bonjour à tous,Voilà une question de débutant:Je cherche le moyen (fonction?) d'additionner les valeurs d'un champ d'une sélection SQL (voir exemple c affichage dans un champs de saisie (windev v10) [ par king_moez ] salut tout le monde ,j'ai une table sql server qui comtien ses 4 champs iddemandeur , demandeur , article et fournisseur . je veux bien savoir le code Mise à jour d'un champs. [ par mehdiyou ] Salut tout le monde, j'ai un petit problème au niveau de Sql. Exple: on a une table Client et une Table commande. Lorsque je change le nom du client d gestion et creation de base de donnees avec contraintes [ par TheArrow ] Salut tout le monde!Je suis le p'tit nouveau de la bande! Et si je suis le p'tit nouveau, ca veut dire aussi que ca fait une personne de plus qui a un separer des chaines de caractéres par des virgules et les inserer dans d'autres champs [ par koukou6311 ] bonjour a tous j'aimerai bien que vous m'aidiezj'ai un champs "concatener " dans la table "tag"qui  contient un ensamble de chaine de caractéres (obse Optimiser le temps réponse avec sql server [ par yuri2008 ] Bonjour,J'ai une table de 200 000 lignes dans une base de données. Dans cette table, il y a des champs text, ntext (gros champs de texte), date,. <p Supprimer une contrainte [ par cormandyr ] Bonjour,J'ai créé une table et ajouté une contrainte UNIQUE à l'un des champs.Cependant, suite à une évolution du projet, il me faut supprimer cette c


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,994 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales