IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

[retour variable] retourner un type RECORD


Sujet :

PostgreSQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Points : 30
    Points
    30
    Par défaut [retour variable] retourner un type RECORD
    Hello a tous, me revoila avec encore un piti probleme...

    j'aimerais bien retourner un type record, c'est apparement autorisé vu que je le vois dans la liste des types de retour sous phpPgAdmin...

    Voici ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DECLARE
     
    p_id_objet alias for $1;
    mon_record record;
     
    BEGIN
     
    SELECT INTO mon_record * FROM projet.objet WHERE id_objet = p_id_objet;
    IF FOUND THEN
    return mon_record;
    ELSE
    return null;
    END IF;
    END;
    Voici mon erreur a chaque fois que j'execute avec n'importe quel parametre :

    Sous phpPgAdmin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Erreur SQL :
    ERROR:  cannot display a value of type record
     
    In statement:
    select projet.getobject(2)
    et dans une requete php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: cannot display a value of type record . in /home/cantineau/public_html/projet/afficheTousObjet.php on line 59
    echec SELECT projet.getobject(2)
    Personnellement, je m'en fous qu'il puisse pas l'afficher... Du moment que moi je sais le recuperer et le decortiquer moi meme...


    Dans la doc de postgre, ils disent que le contenu du record est inconnu jusqu'a ce que la requete soit executée et apres il peut renvoyer le record...

    Je crois que c'est ce que j'ai fait.

    C'est peut-etre une bete erreur, je vais peut-etre avoir l'air C** une fois de plus mais je suis loin d'etre baleze la dedans

    Merci pour votre aide a l'avance


    Ps : je sais que je pourrais faire un select * from... mais j'ai besoin de recuperer egalement la valeur de la fonction gettempsrestant, c'est pour ca. Si il y a une autre solution, un contournement de situation, je suis pret a modifier.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    Voili voilou, je tenais quand meme a préciser que j'avais contourné mon probleme... je ne savais pas qu'on pouvait creer une vue contenant des fonctions!

    Enfin bon maintenant ca fonctionne MAIS étant donné que je ne comprends pas pourquoi ca ne fonctionnait pas avant, et que j'ai un copain de classe qui a le meme probleme que moi excepté que lui il n'a pas de fonction dedans... il crée un record autrement avec une variable en plus je crois...

    Toujours est-il que je ne mets pas la balise résolu car j'aimerais bien avoir la réponse quand meme!

    Merci d'avance

Discussions similaires

  1. Réponses: 10
    Dernier message: 28/08/2013, 20h57
  2. Incrementer une variable de type record
    Par yann87 dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2009, 15h57
  3. [LG]Resultat de fonction de type Record ?
    Par Mike888 dans le forum Langage
    Réponses: 10
    Dernier message: 24/01/2004, 22h48
  4. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo