[Pl/pgSQL] Erreur sur l'execution d'une fonction.
Bonjour bonjour,
Voila, j'ai fais une petite fonction pour assurer une coherence de mes données, il semble que je n'ai pas d'erreur de syntaxe (il compile sans problème), cependant, j'obtiens une erreur dont le sens m'échapte, et le conseil qui suit me semble d'autant plus obscur.
Voici ma fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Create Function F_Ajout_Livre (Varchar(60), Varchar(25), Bytea, Varchar(50), Smallint)
-- titre auteur couv MIME droitGroupeDefaut
Returns boolean
As
'
Declare
nTitre Alias For $1;
nAuteur Alias For $2;
nCouverture Alias For $3;
nMime Alias For $4;
nDroitDefautGroupes Alias For $5;
nId char(32) := md5( titre || auteur );
Begin
If droitDefautGroupes Is Between 2 And 5 Then
Insert Into livre (md5id, titre, couverture, couverturemime, droitdefaut)
Values (nId , nTitre, nCouverture, nMime, nDroitDefautGroupes);
Insert Into avoir (auteur, droit, livre)
Values (nAuteur, 0, nId);
Return True;
End If;
Raise Notice ''Le niveau de droti par défaut doit être compris entre 2 et 5.'';
Return False;
End;
'
Language plpgsql; |
Et voici le message que j'obtiens en retour:
Code:
1 2
| ERROR: function public.f_ajout_livre("unknown", "unknown", "unknown", "unknown", integer) does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts. |
Pourriez vous éclairer ma lenterne? et si possible, m'aider à résoudre mon problème?