Message posté par : Lucile16 (lucile16.lm(a)gmail.com)
----------------------------------------
Bonjour,
j’aimerai créer un trigger qui permet de renseigner le nom de la commune en fonction du code insee renseigner dans la base de donnée. Pour l'instant, j'ai utilisé le CASE WHEN mais ce n'est pas encore concluant ...
BEGIN
CASE
WHEN NEW.commune_insee = 44106 then NEW.commune = 'Les Moutiers-en-Retz';
WHEN NEW.commune_insee = 44131 then NEW.commune = 'Pornic';
ELSE NEW.commune = 'Préfailles' ;
RETURN NEW;
END;
Mais un message d’erreur apparait sur le END …
Pouvez-vous m’éclairer ou m’orienter vers une nouvelle syntaxe ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=344387#p344387
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Léandre Béron
----------------------------------------
Bonjour,
J'ai deux tables :
-----------------
Citation :
Table an_voie : | Table an_tenant
id_voie | id_tenant
denom | id_voie (identifiant de ma voie actuelle)
cote | id_voie_te (identifiant de ma voie tenante)
geom | complement (infos complementaires)
-----------------
Comme on peut le voir, la table an_tenant est une traduction d'un modèle N,N sur la même table des voies pour les gestion des tenants.
J'ai le même principe pour les aboutissants. En effet, une voie peut avoir plusieurs tenants ou aboutissants (cas du Y pas exemple).
A travers une vue, je cherche à récupérer des informations sur ma table an_voie, ainsi que le ou les tenants associé(s) à cette voie.
J'ai tout d'abord essayé en relation 0;1 et j'arrive à sortir l'identifiant id_voie_te sur ma table an_tenant, mais impossible d'aller afficher le nom de la voie qui correspond à cet ID situé sur la table an_voie.....
Comment pourrais-je réaliser cela ? Je suppose que mon problème vient de mes imbrications de jointures, mais je n'arrive pas à me corriger.
Mon test actuel :
-----------------
Citation :
SELECT
v.id_voie,v.denom, p1.valeur || ' '|| v1.denom as voie_tenante, t.id_voie_te
FROM rva.an_voie v
LEFT JOIN rva.an_tenant t ON t.id_voie = v.id_voie
LEFT JOIN rva.an_voie v1 ON t.id_voie = v1.id_voie
LEFT JOIN rva.lt_prefixe_voie p1 ON p1.code = v1.prefixe
GROUP BY v.id_voie, v.denom, p1.valeur || ' '|| v1.denom, id_voie_te;
-----------------
Il me sort bien l'ID de ma voie tenante, mais dans v1.denom, il me sort la denomination de ma voie actuelle....
Idéalement, je devrais une fois ce problème résolu, réaliser une sorte d'imbrication pour concaténer toutes les voies tenantes liés (cas où plus de 1 voie tenante)
Ou plutôt fonctionner autrement, en plusieurs sous requêtes WITH ? Je vais chercher sur ma table an_tenant les noms des voies tenantes, je fais un groupement par ID de voie principale pour concaténer toutes les dénominations des voies tenantes, puis je greffe cela à ma requête principale ?
En vous remerciant (et en espérant avoir été synthétique et clair dans mes explications :) ),
Léandre
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=344337#p344337
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : BadWolf
----------------------------------------
Bonjour
J'ai une petite question, quand je génère un shape avec pgsql2shp.exe il génère un shape en transformant le nom des colonnes en majuscule. Est ce que c'est normal et qu'il a toujours fait ca ?? je préférais les mettre en minuscule, est ce qu'il y a un parametre dans la ligne de commande ?
J'ai l'impression que ca ne fessais pas ca avant mais je me trompe peut etre.
Est ce que quelqu'un a une solution?
Cordialement
BadWolf
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=344336#p344336
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : tevrard
----------------------------------------
Bonjour,
je suis surpris du retour de la requete suivante :
-----------------
Code :
SELECT intitule_formation
FROM listes_fonctionnelles.ref_formation_diplome
ORDER BY intitule_formation
-----------------
qui appelle une colonne de texte et dont une partie du résultat est le suivant :
-----------------
Code :
"BTSA Génie des équipements agricoles (GDEA)"
"BTSA Gestion et maîtrise de l'eau"
"BTSA Gestion et maîtrise de l'eau (GEMEAU)"
"BTSA Gestion et protection de la nature (GPN)"
"BTSA Gestion forestière"
"BTS Aménagement finition"
"BTSA Productions animales"
"BTS Architectures en métal : conception et réalisation"
"BTSA Sciences et technologies des aliments (STA) Aliments et processus technologiques"
"BTSA Sciences et technologies des aliments (STA) Produits laitiers"
"BTS Assistance technique d'ingénieur (ATI)"
"BTS Assurance"
"BTSA Technico-commercial"
"BTSA Technico-commercial option animaux d'élevage et de compagnie"
-----------------
Comme vous pouvez le constater le tri n'est pas bon, BTSA et BTS A étant confondu. Je remarque aussi le même problème sur BPA et BP A. L'espace ne semble donc pas être reconnu.
Avez vous des explications sur le pourquoi de cette confusion?
Merci d'avance pour vos retours
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=344188#p344188
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : JacquesDel
----------------------------------------
Bonjour,
Avant toute chose je vous présente mon environnement:
- PostgreSQL/PostGis
Un 1er schéma contenant 19 tables "métier", multipolygon 2d et 3d, point 2d et 3d et linestring, sujettes à des mises à jour internes
Un 2e schéma contenant 1 table suivi qui récupère les enregistrements ayant subies une maj (via trigger, quelques champs seulement)
> J'ai une requête pour sélectionner les enregistrements dans un laps de temps qui m'intéresse (via timestamp)
J'ai créée dans le 1er schéma 5 tables "envoi_maj_linestring", "envoi_maj_point" etc car je souhaite les avoir sur QGIS
> Ces 5 tables intègrent les données complètes des enregistrements du 1er schéma (via requêtes et jointures)
--- Je souhaite désormais raccourcir au maximum le nombre d'action à effectuer pour lancer cette opération, j'ai l'idée d'utiliser un fichier batch qui regrouperait toute les actions et qui serait déclenchable via une ligne de commande.
Seulement je suis débutant dans ce domaine et je ne trouve pas de documentation pas à pas sur comment créer ce process...
D'où ce petit appel à l'aide !
Merci d'avance !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=344124#p344124
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Sylvain M.
----------------------------------------
Salut à tous,
J'aimerais écrire des lignes de commandes pour gérer les données d'une base Spatialite (=SQLite) en local sur mon PC, et sans passer par QGis.
J'ai installé QGis en version autonome sur mon PC Windows 10, et j'arrive bien à faire mes requête SQL via le Gestionnaire de BDD de QGis.
Est-ce que vous savez comment ouvrir la console SQLite / Spatialite depuis l'invite de commande Windows ? (et ainsi executer mes requête SQL via des script batch)
Merci pour votre aide :)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=344066#p344066
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Tan85 (tancredi.pozzana(a)gmail.com)
----------------------------------------
Bonjour,
j'ai fais un
-----------------
Code :
string_agg(c.nom_com, ' ; ')
-----------------
afin d'avoir la liste des communes sur lesquelles se trouvent mes polygones, mais comme mes entités sont composées de plusieurs polygones je me retrouve avec des répétition, comme dans l'exemple ci-dessous :
-----------------
Code :
communes
ALIXAN ; CHATEAUNEUF-SUR-ISERE ; ALIXAN ; CHATEAUNEUF-SUR-ISERE
PORTES-LES-VALENCE ; VALENCE ; PORTES-LES-VALENCE ; VALENCE
BOURG-DE-PEAGE ; BOURG-DE-PEAGE ; CHATEAUNEUF-SUR-ISERE
...
-----------------
Quelques suggestions pour enlever ces doublons ? Un traitement de texte PostgreSQL?
Merci beaucoup pour votre aide.
Bien cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=343924#p343924
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : sig_bam (yb.bamba(a)gmail.com)
----------------------------------------
Bonjour
Je dispose d'un fichier shape polygone avec des entités déjà créées et j'aimerais calculer la superficie de ces entités avec une fonction triggers, mon code ci dessous ne fonction pas:
create or replace function calcul_superficie () returns trigger as $calcul_superficie$
begin
new.superficie := (ST_area(new.geom)*0.000001);
return new;
end;
$calcul_superficie$ language plpgsql;
create trigger calcul_superficie before insert or update
on geobase_admci.production.region_ci for each row
execute procedure calcul_superficie();
NB: j'aimerais signaler , que mes entités sont déjà créées, il n'y a pas de nouvelles création, juste mettre à jour le champs superficie que je viens de créer avec la fonction trigger.
Je suis bloqué depuis quelques jours et mes recherches ne donnent presque rien.
En attendant votre retour... Cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=343846#p343846
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Demonshine
----------------------------------------
Bonjour,
J'ai tenté de refaire mon trigger sur la base de votre exemple mais un élément a dû m'échapper car cela ne marche toujours pas. Voici mon code :
-----------------
Code :
CREATE OR REPLACE FUNCTION maj_zai()
RETURNS trigger AS
$BODY$
DECLARE
BEGIN
IF TG_OP = 'INSERT' OR TG_OP = 'UPDATE'
THEN UPDATE toponymie_activites set graphie = NEW.toponyme, nature = NEW.nature, geom=NEW.st_centroid(geom)
FROM ZAI
WHERE id = NEW.id;
END IF;
return NEW;
END;
$BODY$
LANGUAGE plpgsql;
CREATE TRIGGER trigger_maj_zai
AFTER INSERT OR UPDATE
ON ZAI
FOR EACH ROW
EXECUTE PROCEDURE maj_zai();
-----------------
Les valeurs NEW.XXX représentant les valeurs de la table modifiée : ZAI.
Merci par avance pour votre aide !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=343774#p343774
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : flo56850
----------------------------------------
Bonjour,
Je souhaite faire une requête de sélection su pg admin avec un critère de recherche ouvert ou non discriminant. Je m'explique:
Je voudrais sélectionner dans un champ A les données qui contiennent un mot clef qu'il soit précédé ou suivi d'un autre mot.
J'ai essayé avec les symbole $ ou % mais je n'ai pas de résultat. Auriez-vous une idée ?
Merci beaucoup par avance,
Florent
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=343752#p343752
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net