Problème exercices triggers
Anonymous95340
Messages postés
114
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
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
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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/