Problème exercices triggers
Anonymous95340
Messages postés
127
Statut
Membre
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
Bonjour,
Je suis débutant sur les triggers et j'ai trouvé cette exercice :
- Afin d’éviter qu’il puisse y avoir des erreurs de saisie, on souhaite qu’une réservation ne puisse pas être concernée par un séjour dont la date de début est antérieure à la date de réservation.
Travail à réaliser
Coder le déclencheur correspondant
J'ai codé ceci mais je sais que c'est faux c'est très peu et j'ai du mal a comprendre l'utilité du trigger
ce que je voudrai c'est la réponse et comprendre également l'utilité du déclencheur
Merci d'avance pour votre répondre
Je suis débutant sur les triggers et j'ai trouvé cette exercice :
- Afin d’éviter qu’il puisse y avoir des erreurs de saisie, on souhaite qu’une réservation ne puisse pas être concernée par un séjour dont la date de début est antérieure à la date de réservation.
Travail à réaliser
Coder le déclencheur correspondant
CREATE FUNCTION reglementSejour(idResa integer)
RETURNS numeric(l0,2)
AS $codeFonction$
DECLARE
numCli integer ;
montantDejaPaye numeric(l0,2) ;
BEGIN
SELECT idClient INTO numCli
FROM reservation
WHERE idReservation = idResa ;
SELECT SUM(montantReglement) INTO montantDejaPaye
FROM reglement
WHERE idReservation = idResa ;
IF (montantDejaPaye IS NULL ) THEN
montantDejaPaye = 0 ;
END IF ;
IF ((SELECT COUNT(*) FROM pro WHERE idClient = numCli)=l) THEN
RETURN(SELECT SUM(prix * duree) - montantDejaPaye
FROM contenir
JOIN chambre USING (numeroChambre)
JOIN concerner USING (numeroChambre,idReservation)
WHERE dateDebut >= CURRENT_DATE
AND idReservation = idResa
) ;
ELSE
RETURN (SELECT SUM(prix * duree)
FROM contenir
JOIN chambre USING (numeroChambre)
JOIN concerner USING (numeroChambre,idReservation)
WHERE idReservation = idResa
) ;
END IF ;
END ;
$codeFonction$ LANGUAGE PLPGSQL ;
J'ai codé ceci mais je sais que c'est faux c'est très peu et j'ai du mal a comprendre l'utilité du trigger
ce que je voudrai c'est la réponse et comprendre également l'utilité du déclencheur
CREATE TRIGGER reservation
BEFORE idResa
IF (dateDebut < idResa)
;
Merci d'avance pour votre répondre
1 réponse
bonjour,
https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1973090-triggers#:~:text=Les%20triggers%20(ou%20d%C3%A9clencheurs)%20sont,%C3%A0%20laquelle%20ils%20sont%20attach%C3%A9s.
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1973090-triggers#:~:text=Les%20triggers%20(ou%20d%C3%A9clencheurs)%20sont,%C3%A0%20laquelle%20ils%20sont%20attach%C3%A9s.
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/