Trigger Mysql

Fermé
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 - 7 juin 2012 à 23:47
 Arch - 11 juin 2012 à 09:20
Bonsoir,

j'ai un petit souci avec un trigger que j'essaie de créer et j'aimerai bien avoir votre aide la-dessus si possible.C'est probablement rien je suis débutante en SQL donc je ne sais pas ce qui ne va pas au juste.

J'essaie en fait de verifier l'existence d'une donnee dans la table Client avant l'insertion des données dans la table Facture.

Vous me direz que si c'est une foreign key alors sa se fera systematiquement mais pour des problemes de conception je n'ai pas pu la mettre en foreign key donc je dois verifier par moi-meme a chaque fois.

delimiter |
create trigger Facture_Client
before insert or update on Facture
begin
 declare c integer;
 set c=(select 1 from client c where c.SIC_IDClient=10);
 if c=NULL then
     set @Err='Client inexistant';
 end if;
end |
delimiter;


J'espere que qqn me viendra en aide.
Merci.

2 réponses

Le "select 1" ça fait rien de bon, je ne sais pas si tu as déjà essayé d'utiliser ça auparavant. fais plutot un
set c = (SELECT SIC_IDClient FROM client WHERE SIC_IDClient=10)
0
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 2
9 juin 2012 à 06:26
En fait c'est pour tester si existe ou pas donc je vais opter pour ta solution et voir,Merci.
0
ah oui effectivement si tu ne sers pas de la valeur, tu peux faire ça je viens d'essayer.
sinon qu'est-ce qui ne marche pas? tu as une erreur?
0