Bonjour,

Je suis débutant sous Postgre mais possède une certaine expérience sous Oracle.

Je dois créer un trigger qui appelle plusieurs fonctions.

J'ai donc créé une fonction

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
 
CREATE OR REPLACE FUNCTION "VERIF_DATE_NAISS"(instance_id integer)
  RETURNS character varying AS
$BODY$
 
DECLARE
	retour character varying;
	date_naiss date;
BEGIN
 
	SELECT val_date into date_naiss from valeur_date where champ_id=27 and inst_id=instance_id;
 
	IF date_naiss<to_date('01/01/1906', 'dd/mm/yyyy') THEN
		retour:='AÏE';
	ELSE
		retour:='OK';
	END IF;
 
	RETURN retour;
 
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

Création de la fonction OK

1er problème: Lorsque je souhaite la tester, je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
select VERIF_DATE_NAISS(116);
et je récupère l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
ERROR:  function verif_date_naiss(integer) does not exist
LINE 1: select VERIF_DATE_NAISS(116);
               ^
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.
 
********** Erreur **********
 
ERROR: function verif_date_naiss(integer) does not exist
État SQL :42883
Astuce : No function matches the given name and argument types. You may need to add explicit type casts.
Caractère : 8
2ème problème:

Lorsque je souhaite créer un trigger qui invoque cette fonction, je ne la vois pas dans la liste des fonctions possibles. Il ne me propose que les "fonction-trigger". Je ne sais pas ce que c'est ni comment ça marche.

Quelqu'un peut-il m'expliquer ?

Merci
Cordialement,