|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
Kikou,
je dispose de la version 8.0 de postgres et je l'utilise pr l'intermédiaire de pgAdmin3. J'ai écrit une petite fonction en pgsql. Malheureusement elle ne fonctionne pas car le type varchar n'est pas reconnu. Je vous donne donc le corps de la fonction pour que vous puissiez me dire le pourquoi du comment. Create or replace function lire_erreur (integer) return varchar AS' DECLARE p_num ALIAS FOR $1; libelle varchar(160); num integer; BEGIN SELECT count(*) INTO num FROM erreur WHERE id_erreur=p_num; IF FOUND THEN SELECT id_erreur||'':''||libelle Into libelle From erreur Where id_erreur = p_num; ELSE libelle := p_num||'':ERREUR INDEFINIE''; END IF; return(libelle); END lire_erreur; Merci d'avance de me répondre. champijulie |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Sylvain GourvilFreelance en développement Web Inscription : mars 2005 Messages : 248 ![]() |
A la place de varchar(...) , tu dois mettre text et ca fonctionnera
|
|
00
|
|
|
#3 | ||
|
Membre émérite
![]() ![]() Inscription : mars 2002 Messages : 770 ![]() |
En fait, varchar fonctionne mais il y avait plusieurs choses qui n'allait pas, je t'ai reecris la fonction qui devrais normalement fonctionner :
Code :
- il faut intervertir le INTO dans le select - il n'y a pas de parentheses apres return dans la procedure (return libelle) |
||
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() ![]() Inscription : mars 2002 Messages : 770 ![]() |
J'ai mis aussi la fonction entre $body$ pour eviter de dedoubler tout les quotes
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
Merci beaucoup de m'avoir répondu.
Je teste ça demain. Ca va me permettre de pas mal avancer. champijulie |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com