Bonjour :
J'ai un soucis avec la déclaration de l'une de mes fonctions.
La voici :


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
CREATE OR REPLACE FUNCTION EPURE_NO_TEL(no_tel0 TEXT)
RETURNS TEXT AS $$
DECLARE
    no_telf TEXT;
    idx INTEGER ;
    carac CHAR(1) ;
BEGIN
  SET no_telf ='' ;
  if (LENGTH(no_tel0) >0) THEN
    SET idx = 1 ;
    WHILE idx <= LENGTH(no_tel0) LOOP
      SET carac = SUBSTRING(no_tel0, idx, 1);
      IF (carac >='0' AND carac <='9' OR carac IN ('(', ')', '+'))  THEN 
        SET no_telf = no_telf || carac ;
      END IF ;
      SET idx =idx +1;
    END LOOP ;
  END IF ;
  RETURN no_telf ;
END ;
$$ LANGUAGE plpgsql;

Ca me sort cette erreur :

ERROR: syntax error at or near "$1" at character 6
QUERY: SET $1 =1
CONTEXT: SQL statement in PL/PgSQL function "epure_no_tel" near line 8
Je vous remercie d'avance de votre aide.

Bonne journée à tous