Trigger SQL, supprimer donnée SI ...

Fermé
alexmilano Messages postés 423 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 30 novembre 2017 - 18 avril 2008 à 14:27
 titi - 29 août 2011 à 11:11
Bonjour,

Je travaille sur une base de données SQL server,
J'ai une table tiers ou j'ai les clients, leurs contacts.
Les clients ont un code_tiers, qui les lie avec leurs contacts avec lien_tiers ( gros : tiers.tiers = tiers.lien_tiers)
J'aimerais faire un trigger qui quand je supprime un tiers il supprime aussi le contact lié ...

aperçu : Code_tiers, désignation

et donc après on a lien_tiers, désignation pour les contacts qui sont pour chaque tiers.

Bon voila, j'ai essayé de m'expliquer au mieux, si vous avez des questions, n'hésitez pas ;)




Windows c'est de la merde ?
alors notre monde est bien po***i, et toi aussi parce que si tu es la, c'est grâce à lui !
A voir également:

4 réponses

Met la reponse creuvard
1
Developpeur_Sensei Messages postés 14 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 19 novembre 2008 9
18 avril 2008 à 16:28
salut
si je comprend bien tu as un problème au niveau de l'intégrité référentielle ; ça veut dire quand tu veux supprimer un client qui a des contact c'est impossible car son "code_tiers" apparait chez ces clients "lien_tiers" alors tu feras un trigger avec "instead of delete" au lieu de "for delete" ou "after delete" comme ceci :
N.B: vaut mieux d'avoir deux tables séparées "Client" et "Contact"
create trigger SupprimerClient
on Client
instead of delete
as
declare @NumClient int
set @NumClient =(select code_tiers from deleted)
delete from Contact where Contact.lien_tiers = @NumClient
delete from Client where Client.code_tiers = @NumClient

N.B : Si tu veux pas faire deux tables tu n'as qu'a remplacer les deux tables "Client" et "Contact" dans mon trigger par le nom de ta table "tiers"
cordialement
0
alexmilano Messages postés 423 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 30 novembre 2017 27
25 avril 2008 à 11:07
C'est bon, j'ai trouver la solution, je mettrai la solution plus tard ;)
-1
ahmed06424 > alexmilano Messages postés 423 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 30 novembre 2017
30 juin 2008 à 12:41
il faut dire à celui qui t'as aidé "Merci" et non "C Bon j'ai trouvé la solution" psq je vois qu si tu as trouvé la solution c grace à lui.
0
alexmilano Messages postés 423 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 30 novembre 2017 27
2 déc. 2008 à 10:34
non mais sérieux, si je la retroyve, je la mets, ça sert à rien de dire crevard ! imbécile !

0
alexmilano Messages postés 423 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 30 novembre 2017 27
5 sept. 2008 à 10:30
non, ça m'a pas aider son truc, mais je retrouve plus ou j'ai fait ça, dès que je tombe dessus, je mets la solutiion, et je suis pas un crevard !!!
-2
crevard
0
creuvard
0