Bonjour,
J'ai un petit soucis, je travaille sur une base de données énorme, mais je vais avoir besoin que de 2 tables pour
mon Trigger :
Contrat :
*n°contrat_interne
n°contrat_externe
statut_du_contrat
date_debut
date_fin
Demande :
*n°demande_interne
n°demande_externe
date_demande
staut_demande
nature_demande_code
destinataire
client_appelant
n°contrat_interne
En gros c'est une base de données d'une Hotline, on prend un appel et on regarde si le client est sous contrat. Le problème vient du fournisseur du logiciel de base de données, il a mis en place un Trigger (dont je n'ai même pas les sources) qui génère automatiquement un appel pour les maintenances préventives concernant le matériel qu'on a dans la base. Sauf que ce fournisseur a oublié de mettre une condition concernant les contrats, ce qui fait que le Trigger génère un appel même quand le contrat est terminé. Donc je n'ai qu'une seule solution, c'est de faire un contre-Trigger (lol
) c'est ce que j'ai fais :
create trigger suppr_appel_prev_contrat_termine
on ma_table_demande
for insert, update
as
delete from ma_table_demande where destinataire='AGENT K_AGTAGOWEVENT' and nature_demande_code=4
and n°contrat_interne=(Select n°contrat_interne from ma_table_contrat where date_fin<getdate())
GO
destinataire='AGENT K_AGTAGOWEVENT' ---> représente les appels générés par le système
nature_demande_code=4 ---> représente les maintenances préventives
mais ca ne fonctionne pas
je ne sais pas ou est mon erreur, et je n'ai jamais fais de Trigger. Il me semble qu'il manque une jointure, mais je ne suis pas sur. HELP ME!!! Merci