Bonjour,
Ma question est simple:
Comment je peux interdire la duplication d'un enregistrement dans une table qui ne doit pas posséder des clés primaires (par ce que ses champs peuvent avoir des valeurs nulles) sous SQL SERVER 2008 ??
Merci d'avance.
        Discussion :
		Bonjour,
Ma question est simple:
Comment je peux interdire la duplication d'un enregistrement dans une table qui ne doit pas posséder des clés primaires (par ce que ses champs peuvent avoir des valeurs nulles) sous SQL SERVER 2008 ??
Merci d'avance.
il semble y avoir un problème de conception mais bon...
Tu peux ajouter un index unique.
En fait je gère les chauffeurs et les receveurs, ces derniers travaillent dans des brigades, une brigade contient en générale un chauffeurs et un receveurs, mais il existe des cas ou elle contient un chauffeur sans receveur ou le contraire.
C'est pour cela que j'ai créé une table:
Affectation Brigade(MatriculeChauffeur, MatriculeReceveurs, NumeroBrigade)
Et comme MatriculeChauffeur et MatriculeReceveurs peuvent etre null alors je ne peut pas affecter une clé à cette table.
Merci d'avance
Tu peux te faire un index multiple avec unicité
Si la ligne MatriculeChauffeur, MatriculeReceveurs, NumeroBrigade ne peut apparaitres qu'une fois, crée un index multiple sur ces 3 colonnes.
Un index multiple avec un colonne autorisant le NULL ne permettera pas de respecter la contrainte d'unicité.
Pour contourner le problème, tu peux mettre la colonne a NOT_NULL et utiliser une valeur par défaut (VIDE par ex) et l'unicité fonctionnera.
remarques :
-les champs de BDD ne devraient pas être en camelCase
- Privilègie l'anglais
A +
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
 1
2 CREATE UNIQUE INDEX XXX ON "Affectation Brigade" (MatriculeChauffeur, MatriculeReceveurs, NumeroBrigade) WHERE MatriculeChauffeur IS NOT NULL OR MatriculeChauffeur IS NOT NULL OR NumeroBrigade IS NOT NULL;
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Partager