Trigger SQL, supprimer donnée SI ...
alexmilano
Messages postés
445
Statut
Membre
-
titi -
titi -
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 !
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 !
4 réponses
-
-
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 -
non mais sérieux, si je la retroyve, je la mets, ça sert à rien de dire crevard ! imbécile !
-
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 !!!