Fonction, je tourne en rond sur la sortie . . .
Salut,
voici une table :
Code:
1 2 3
| CREATE TABLE T_DAT
(ID INT NOT NULL PRIMARY KEY,
DAT DATE NOT NULL); |
et une fonction PG/PL SQL censée remplir la table :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| CREATE FUNCTION SET_DATES (IN dd DATE, IN df DATE) RETURNS INTEGER
AS '
DECLARE d DATE;
result INT := 1;
BEGIN
d := dd;
WHILE d < df
LOOP
INSERT INTO T_DAT (ID, DAT) VALUES (result, d);
d := d + INTERVAL ''1 DAY'';
result := result + 1;
END LOOP;
RETURN (result);
END;'
LANGUAGE 'plpgsql'; |
Voila l'appel :
Code:
SELECT F_SET_DATES ('20010101', '20101231')
et le résultat :
Code:
1 2 3 4 5 6 7 8
| ERREUR: control reached end of function without RETURN
CONTEXTE : PL/pgSQL function "f_set_dates"
********** Erreur **********
ERREUR: control reached end of function without RETURN
État SQL :2F005
Contexte : PL/pgSQL function "f_set_dates" |
Je n'arrive pas à trouver :
- soit la façon de corriger le code pour que la requête finale marche,
- soit la façon d'exécuter la fonction (EXECUTE ? , PERFORMN ??, CALL ???)
merci aux bonnes âmes de me tirer de ce mauvais pas !
A +