cs_Myke
Messages postés138Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 2 février 2010
-
17 juil. 2006 à 17:36
cs_Myke
Messages postés138Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 2 février 2010
-
18 août 2006 à 15:55
Bonjour à tous!
J'utilise SqlServer 2000. J'ai une table avec plusieurs champ. Lorsqu'un utilisateur veut inserer un nouvel enregistrements je dois verifier si l'enregistrement n'est pas existant. Un genre de IF Exists (select * from tb Where PKID <> ChampInsertition AND FKTYPE <> ChampInsertition AND STATE = 1)
Que dois-je utiliser. est-ce que c'est fesable avec les contrainte ? Est-ce que c'est possible de declarer un trigger et de faire un RollBack si la condition n'est pas respecter?
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 18 juil. 2006 à 00:10
Salut
Ton probleme peut etre resolu avec des contraintes
si tu mets une contrainte unqiue sur ton les champs
(sauf la clef qui est en general unqiue par def ou autogenere)
Tu aurais une exception de violationd de contraintes uniques.
Je ne pense pas que ce type de solution.
Soit tres recommandé mais elle a le mérite d'exister.
Et a toi de l'adpater pour tes tables
car dans une table personne
il ne faut pas la mettre en place si tu ne conserve que le nom prenom
car il y a risque d'homonymie.
De plus contrainte unique index je crois.
> pb de perf
cs_Myke
Messages postés138Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 2 février 2010 18 juil. 2006 à 01:23
Je ne peux pas mettre de clé primaire sur ce champ. Car les enregistrements doivent rester dans la base de données lorsqu'il y a suppression. C'est seulement le champ State qui nous indique si l'enregistrement est valide. Ce que je voudrais c'est ajouter une contrainte ou n'importe qu'elle autre solution qui me permettrais de tester des conditions avant que le champ soit inserer.
crilun
Messages postés114Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention17 octobre 2006 17 août 2006 à 21:24
crilun
ce que tu veut faire en fete c'est ajouter l'enregistrement a state=0 si il existe deja dasn la base et a state=1 sinon c'est bien ca?
si c'est bien ca oui c'est faisable avec un trigger, j'ai eu le meme genre de chose a faire avec un gestion de bagde ou seul un seul badge pour une meme personne devait rester actif,
tu peut récuperer tes valeurs au moment de l'insertion grace au trigger et les modifier donc oui tu peut le faire avec un trigger.
si c'est effectivement ca que tu veut veut faire tiens moi au courant je te taperais donnerias un exmple de trigger qui fait , la j'ai pas de base SQL server je peut pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?