Salut,
voici une table :
et une fonction PG/PL SQL censée remplir la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE TABLE T_DAT (ID INT NOT NULL PRIMARY KEY, DAT DATE NOT NULL);
Voila l'appel :
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 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';
et le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT F_SET_DATES ('20010101', '20101231')
Je n'arrive pas à trouver :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"
- 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 +
Partager