Bonjour,

Je vous expose tout d'abord la base de données:

Elle est composée de plusieurs "schémas", une public (principal) et plusieurs autres qui peuvent variées.

Tous les schémas sont structurées de la même manière ainsi il y a les mêmes tables dans le schéma "public" et le schéma "x". Bien-sûr les clés primaires ne sont jamais les mêmes...

Le problème : j'aimerais créer une fonction qui insérera les données du schéma x vers le schéma public (principal)

J'ai essayé de créer une fonction, mais bien-sûr, débutant comme je suis, je ne sais même pas si je m'y prend bien.


Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE FUNCTION copydata(lenomduschema varchar) RETURNS varchar AS $$
BEGIN
     INSERT INTO public.tablex select * FROM lenomduschema.tablex;
END;
$$ LANGUAGE PLPGSQL;

Cette fonction se crée sans problème mais à l’exécution, "lenomduschema" n'est pas considérée comme une variable mais comme un schéma qui s'appel "lenomduschema".

Merci beaucoup de pouvoir m'aider.

KiAhS