Bonjour,

Je débute avec POSTGRESQL, et j'en suis encore aux bases.
Et j'ai beau parcourir la doc officielle et les fora, je ne trouve nulle part la réponse à une simple question :

Comment utilise-t-on une variable dans une requête, à l'intérieur d'une fonction?

Je précise que je ne cherche pas à utiliser un paramètre d'entrée (dans ce cas je pourrais utiliser %1, par exemple), mais une variable que j'ai déclarée au début de ma fonction.

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR REPLACE FUNCTION job_check_status(job_do_id int4, job_first_status_id int4) RETURNS int4 AS '
DECLARE
	job_first_id int4;
	nb_res int4;
 
BEGIN
	SELECT INTO job_first_id job_first FROM job_list WHERE job_id = $1;
 
	SELECT COUNT(job_id) AS nb_res FROM job_list WHERE job_id = job_first_id AND job_status_id = $2;
 
	RETURN nb_res;
END;
' LANGUAGE plpgsql;
Je n'arrive même pas à enregistrer ma fonction, j'ai un "Syntax error"

Je vois bien que le problème se trouve par ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT COUNT(job_id) AS nb_res
Et que j'en aurai un autre là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
WHERE job_id = job_first_id
Comment placer ces variables dans ma requête svp?

Merci d'avance, c'est pénible de sécher sur un truc aussi simple et de ne pas pouvoir avancer...