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

Requêtes PostgreSQL Discussion :

WHERE Colonne = ANY (tableau)


Sujet :

Requêtes PostgreSQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut WHERE Colonne = ANY (tableau)
    Bonjour,

    dans la base de données,
    - j'ai une table ma_table possédant une colonne de nom id de type INTEGER
    - j'ai une fonction qui reçoit en entrée un tableau d'entiers

    Comment est-il possible de récupérer les lignes de ma_table pour lesquelles la valeur de la colonne id est une des valeurs passées dans le tableau en paramètre pour faire un export en csv par exemple?

    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
    18
    19
    20
    CREATE OR REPLACE FUNCTION ma_fonction( tab_id INT[])
    RETURNS INTEGER AS
    $BODY$
     
    -- essai de contenu n°1 qui fonctionne: les lignes pour lesquelles id vaut 1, 32, ou 33 sont exportées
     
    EXECUTE 'COPY (
    SELECT
    id, col2
    FROM
    ma_table WHERE id = ANY(ARRAY[1,32,33]))
    ... etc
     
    -- essai de contenu n°2 qui ne fonctionne pas: ERREUR "la colonne tab_id n'existe pas"
    EXECUTE 'COPY (
    SELECT
    id, col2
    FROM
    ma_table WHERE id = ANY(tab_id))
    ... etc
    avec un appel ma_fonction(ARRAY[1,32,33])

    Or c'est bien la deuxième forme qui m'intéresse ...


    Merci d'avance pour votre aide

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    La construction de la chaine 'COPY...' a caché la variable. Essaye...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    EXECUTE 'COPY (
    SELECT
    id, col2
    FROM
    ma_table WHERE id = ANY(' || tab_id ')'
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Après verification par PgAdmin...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    EXECUTE 'COPY (
    SELECT
    id, col2
    FROM
    ma_table WHERE id = IN (' || array_to_string(tab_id,',') || '))'
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

Discussions similaires

  1. [MySQL] transformer ligne en colonne dans tableau après regroupement
    Par yadou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/07/2007, 15h27
  2. afficher juste les colonnes du tableau c'est possible !?
    Par moonia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 26/07/2006, 08h58
  3. [Swing][JTable]Tailles des colonnes du tableau
    Par LordBlaize dans le forum Composants
    Réponses: 6
    Dernier message: 20/02/2006, 17h46
  4. [VB6]Tri multi-colonnes sur tableau de structure
    Par ELGUEVEL dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/02/2006, 08h02
  5. Réponses: 5
    Dernier message: 29/12/2005, 10h31

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