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?
avec un appel ma_fonction(ARRAY[1,32,33])
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
Or c'est bien la deuxième forme qui m'intéresse ...
Merci d'avance pour votre aide
Partager