Bonjour,j'ai beaucoup de misère avec cette fonction. Je tente d'afficher un message d'erreur losrque le NOW() ne se trouve pas entre la dateDePrise et la dateDePrise + INTERVAL '1 day'.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
CREATE OR REPLACE FUNCTION mesureInterval_lim()
RETURNS TRIGGER AS
$$
  BEGIN
    IF NOT EXISTS
    (
      SELECT *
      FROM MesureInterval JOIN Processus USING (idMesure)
      WHERE (Processus.idProcessus = 'PROC001' AND now() <= mesureinterval.dateDePrise + INTERVAL '1 day')
        OR
      (Processus.idProcessus = 'PROC002' AND  now() <= mesureinterval.dateDePrise + INTERVAL '1 day')
    )
  THEN
    RETURN NEW;
  ELSE
    RAISE EXCEPTION 'Veuillez passer à la prochaine étape';
    RETURN NULL;
  END IF;
END;
$$
LANGUAGE plpgsql;