Salut à tous

j´ai deux tables numb1(avec comme colones: id, phone_number,email_adress, sip_adress,Port_number, url,delay) et numb1_layout(avec comme colones:id,name,min_value et max_value).
Dans la table numb1_layout j´ai les valeurs suivantes1 dans id, delay dans name, 0 dans min_value et 30 dans max_value).
Je souhaite ecire une fonction pour valider les valeurs entrées dans numb1 pour la colone delay et pour cela j´aimerai prendre à l´aide d´un select la valeur dans max_value de numb1_layout et l´utiliser comme base de comparaison.
Mon code se presente ainsi:
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
23
24
25
26
27
28
29
30
CREATE OR REPLACE FUNCTION delay_check(integer)
  RETURNS boolean AS
$BODY$
DECLARE 
value integer;
delay alias for $1;
BEGIN
 
--Hier wird überprüft ob der eingegebene delay positiv oder negativ ist. 
IF (delay < 0 ) 
 THEN
Raise Exception 'Test|numb1|delay|WRONG_DELAY|%|is a wrong delay (% < 0)',delay,delay;
END IF;
 
SELECT max_value FROM numb1_layout WHERE id=1;
IF FOUND THEN SET SESSION value=max_value;
END IF;
 
--Hier  wird überprüft ob der eingegebene Delay sich in dem Bereich eines Delays befindet.
IF (delay > value)
THEN
Raise Exception 'Test|numb1|delay|WRONG_DELAY|%|is a wrong delay (% > %}$',delay,delay,value;
END IF;
 
RETURN true;
END;
 
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION delay_check(integer) OWNER TO postgres;
La premiere comparaison fonctionne pour ma fonction, mais ne fonctione pas pour la partie du select.
Est ce que quelqu´un aurait une idée comment est ce que je peux resoudre ce problème, ou un exemple qui traite un cas semblable.
Merci d´avance.

YP