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

#76 Re : PgAdmin3 » Se connecter sur pgadmin3 avec un username/password » 29/03/2017 12:35:24

Il suffit de créer des "enregistrements de serveur" avec les utilisateurs différents ou bien  j'ai mal compris la question ?

#77 Re : PL/pgSQL » fonction qui renvoie une table » 20/02/2017 11:07:05

Pour la fonction ce serait quelque chose du style (non testé):

CREATE OR REPLACE FUNCTION public.sig_count3(v_table_source  CHARACTER VARYING, v_table_dest character varying)
  RETURNS TABLE (plandxf  CHARACTER VARYING, nb_destination INTEGER, nb_source INTEGER) AS
$BODY$
BEGIN
	RETURN QUERY EXECUTE FORMAT('select 
	%I.plandxf as plandxf, 
	count(distinct %I.gid) as nb_destination, 
	count(distinct %I.gid) as nb_source 
	from %I 
	left join %I 
	on %I.plandxf = %I.plandxf 
	group by %I.plandxf',v_table_dest,v_table_dest,v_table_source,v_table_dest,v_table_source,v_table_source,v_table_dest,v_table_dest);
END
$BODY$
  LANGUAGE plpgsql;

qui pourrait être utilisée ainsi

  select * from sig_count3('matable2','matable1') UNION  select * from sig_count3('matable2','matable3');

#78 Re : PL/pgSQL » fonction qui renvoie une table » 20/02/2017 09:42:06

Bonjour,
Cela ne répond pas exactement à la question sur la fonction, mais une solution est de faire une UNION de requêtes.

select 
matable1.plandxf as plandxf, 
count(distinct matable1.gid) as table_destination, 
count(distinct matable2.gid) as table_source 
from monschema.matable1 
left join monschema.matable2 
on matable2.plandxf=matable1.plandxf 
group by matable1.plandxf
UNION
select 
matable3.plandxf as plandxf, 
count(distinct matable3.gid) as table_destination, 
count(distinct matable2.gid) as table_source 
from monschema.matable3 
left join monschema.matable2 
on matable2.plandxf=matable3.plandxf 
group by matable3.plandxf
UNION
select 
matable4.plandxf as plandxf, 
count(distinct matable4.gid) as table_destination, 
count(distinct matable2.gid) as table_source 
from monschema.matable4 
left join monschema.matable2 
on matable2.plandxf=matable4.plandxf 
group by matable4.plandxf

Avec :
table source: matable2
tables destination : matable1, matable3, matable4
Avec une fonction, pour avoir un tableau de synthèse, il faudra de toute façon faire une UNION de requêtes

#79 Re : Général » insertion données dans une table » 20/02/2017 00:37:02

Le copier/coller est utilisable en double cliquant au préalable  sur la cellule devant recevoir la donnée. mais il n'est pas possible d'affecter plusieurs cellules en bloc par copier/coller et cela perd donc de son intérêt.
Il faut passer par une requête UPDATE pour faire des affectations en bloc (ce qui est un peu moins simple mais beaucoup plus puissant).

#80 Re : Général » insertion données dans une table » 17/02/2017 00:33:11

Votre perplexité me laisse dubitatif ...
Si vous consultez la doc,  vous verrez que "serial" est en fait un pseudo-type qui permet d'avoir une incrémentation automatique d'une valeur entière (un numéro de série). Le fait de définir manuellement (par copier/coller ou autre moyen) la valeur d'un telle colonne perturberait ce mécanisme et conduirait tôt ou tard à un doublon.
Et le type "serial" est très souvent utilisé pour définir une clé primaire ("bigserial" également).
C'est pour cela que PG Admin affiche cette alerte et que Julien trouve à juste titre qu'il est mieux de ne pas pouvoir la désactiver.

Pied de page des forums

Propulsé par FluxBB