#1 Wed 18 November 2020 12:27
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
QGIS: Outil postgresSQL executer et charger SQL
Bonjour
J'aimerais, si c'est possible, genérer une tables sans géométrie avec l'outil "postgresSQL executer et charger SQL" disponible sur QGIS.
Il dise que ce champ est Optionnel mais je ne sais pas quoi mettre pour leur dire qu'il n'y a pas de champ géométrique dans ma requête.
Si quelqu'un peut m'aider, je vous remercie.
Cordialement
Hors ligne
#2 Wed 18 November 2020 18:14
- sylvainSIG
- Participant assidu
- Lieu: Moissac
- Date d'inscription: 29 Nov 2018
- Messages: 265
Re: QGIS: Outil postgresSQL executer et charger SQL
Salut,
Tu met rien. Exemple d'une création de table sans géométrie depuis la console SQL de qGIS (DB Manager).
Code:
CREATE TABLE essai ( "id" integer, "nom" character varying, "effectif" integer )
Bien à toi
Sylvain
Hors ligne
#3 Thu 19 November 2020 09:17
- sylvainSIG
- Participant assidu
- Lieu: Moissac
- Date d'inscription: 29 Nov 2018
- Messages: 265
Re: QGIS: Outil postgresSQL executer et charger SQL
Salut.
Je me suis repenché sur ton problème. D'ailleurs merci pcq je connaissais pas du tout cet outil.
Il semble qu'il ne fonctionne qu'en interrogation (SELECT) et non en édition. J'ai essayé de créer une table avec cet outil, mais j'ai une erreur PostGIS.
Il semble qu'il ne connaît pas CREATE TABLE. Il faudrait essayer avec INSERT INTO et UPDATE pour confirmer
Il renvoie une erreur de ce type :
Code:
Requête erronée : SELECT * FROM (CREATE TABLE essai ( "id" integer, "nom" character varying, "effectif" integer )) AS "subQuery_0" LIMIT 1 a retourné 7 [ERROR: syntax error at or near "CREATE" LINE 1: SELECT * FROM (CREATE TABLE essai ( "id" integer, "nom" char...
Il semble qu'il faille créer la table d'abord.
Bien à toi
Sylvain
Dernière modification par sylvainSIG (Thu 19 November 2020 09:18)
Hors ligne
#4 Thu 19 November 2020 09:40
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
Re: QGIS: Outil postgresSQL executer et charger SQL
Bonjour
Je te remercie pour ta réponse mais moi ca ne marche pas le message d'erreur que ca me met est le suivant :
Code:
Requête erronée : SELECT "" FROM (select * from essai) AS "subQuery_0" LIMIT 0 a retourné 7 [ERROR: zero-length delimited identifier at or near """"
Je trouve ca bizarre mais impossible de l'exécuter sans avoir un champ géométrique.
L'avantage de cet outil est que on peut modifier la requête SQL pour y intégrer des valeurs saisi grâce au modeleur
Cordialement
Dernière modification par BadWolf (Tue 24 November 2020 09:17)
Hors ligne
#5 Tue 24 November 2020 09:19
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
Re: QGIS: Outil postgresSQL executer et charger SQL
Ou sinon ça peut être un autre outil qui permet d'exécuter une requête SQL et de générer une couche derrière?
Hors ligne
#6 Mon 07 December 2020 20:57
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: Outil postgresSQL executer et charger SQL
Bonsoir,
petites précisions :
Pour l'algorithme de traitement "Postgresql exécuter et charger SQL", il attend une requête SELECT pour pouvoir charger la couche dans qgis.
Pour le moment, il est impossible de charger une table sans géométrie (il s'agit d'un bug remonté) mais un patch a été proposé pour corriger ce problème.
Donc si vous voulez créer une table via un CREATE, il va falloir passer par un modèle qui d'abord utilise l'algorithme "Postgresql exécuter SQL" pour ensuite charger la table avec "Postgresql exécuter et charger SQL"
Bonne soirée,
Hors ligne
#7 Thu 21 January 2021 10:55
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
Re: QGIS: Outil postgresSQL executer et charger SQL
Bonjour
Est il possible de savoir sur quel version cela sera possible?
Cordialement
Hors ligne
#8 Thu 21 January 2021 14:46
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: Outil postgresSQL executer et charger SQL
A partir de la 3.16, à mon avis c'est bon vu que ca a été backporté
Hors ligne