PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 18/02/2014 13:07:09

doumib
Membre

Nom de table variable

Bonjour
Je veux écrire une requête pour insérer  des données dans mes tables. Le nom de la table est dans une variable que j'ai nommée ma_table et elle change en fonction de mon code. Au fait, j'ai beaucoup de tables ( avec exactement les mêmes colonnes) qui représentent les camions d'un parc auto. la requête d'insertion insère donc les données dans la table dont le nom est contenu dans la variable ma_table.

par exemple :

INSERT INTO ma_table VALUES( 10, 15, 1, "vitesse Normale", "acceptable");



Le problème est que je ne sais pas comment gérer la variable ma_table qui contient le nom du camion. Car avec ce code, ça ne marche pas du tout.

Je n'ai pas une connaissance solide sur les bases de données et je compte vraiment sur votre aide.

merci

Hors ligne

#2 18/02/2014 13:16:32

rjuju
Administrateur

Re : Nom de table variable

Bonjour,

la modélisation me semble un peu étrange, à moins que vos différentes tables ne soient le reflet d'un partitionnement ?

Pour pouvoir effectuer votre requête, il est nécessaire d'utiliser un EXECUTE, afin de prendre en compte le nom de la table dynamique. Voir la page http://docs.postgresql.fr/9.2/plpgsql-statements.html et plus particulièrement le paragraphe "39.5.4. Exécuter des commandes dynamiques".

De plus, le délimiteur de chaîne est le guillemet simple (') et non le guillemet double (").

Hors ligne

#3 19/02/2014 09:38:33

doumib
Membre

Re : Nom de table variable

merci beaucoup. j'ai vu la page et je pense qu'elle pourra m'aider beaucoup. Je comprend le principe.
Par inattention, je m'était trompé sur le délimiteur de chaine.
Merci encore

Hors ligne

Pied de page des forums