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 :

Boucler via un Record


Sujet :

PostgreSQL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Par défaut Boucler via un Record
    Bonjour,

    en cours de mon stage je suis amené à réaliser des procédures stockées via postgreSQL 8.4, et ce pour une performance d'appel des requettes en terme de temps d’exécution, dans le script que je vous expose, j'ai du pour réduire le temps d'execution stocker le résultat d'un select dans un Record afin de boucler avec au lieu de l'utiliser directement au niveau de la boucle , chose qui me retourne l'erreur en dessous :calim2 :, quand j'appelle ma fonction au niveau de la console:

    script:
    ------
    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
    16
    17
    drop function deleteuser(integer);
    CREATE OR REPLACE FUNCTION deleteuser(userid integer) RETURNS integer AS $BODY$
    DECLARE
    i integer;
    tab record;
    BEGIN
    update billing_user set deleted=true where id_user=userid;
    select into tab id_user from billing_reseller where id_super_user=userid;
    for i in select tab LOOP
    PERFORM deleteuser(i);
    END LOOP;
    return 1;
    END;
    $BODY$
    LANGUAGE plpgsql VOLATILE
    COST 100;
    ALTER FUNCTION "deleteuser"(integer) OWNER TO postgres;
    Requêttes d'appel:
    ------------------
    SELECT deleteuser(2);


    Erruer retournée:
    -----------------
    ______________________________________________________________
    ERREUR: syntaxe en entrée invalide pour l'entier : « (4) »
    CONTEXT: PL/pgSQL function "deleteuser" line 7 at FOR sur des lignes de SELECT

    ********** Erreur **********

    ERREUR: syntaxe en entrée invalide pour l'entier : « (4) »
    État SQL :22P02
    Contexte : PL/pgSQL function "deleteuser" line 7 at FOR sur des lignes de SELECT
    ______________________________________________________________
    vous trouverez ci-joint les images correspondant aux tables, je serais très reconnaissant pour tout aide, car je suis affreusement coincé.
    Images attachées Images attachées   

Discussions similaires

  1. [JSTL] Boucler via index
    Par lequebecois79 dans le forum Taglibs
    Réponses: 0
    Dernier message: 12/12/2011, 23h30
  2. [AC-2007] Recherche d'enregistrements/records via plusieurs mots entiers
    Par Cinesra dans le forum VBA Access
    Réponses: 18
    Dernier message: 17/11/2010, 15h21
  3. [Kylix] PostgreSql via ODBC
    Par doykati dans le forum EDI
    Réponses: 3
    Dernier message: 08/02/2007, 10h10
  4. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09
  5. Réponses: 4
    Dernier message: 05/06/2002, 12h15

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