Message posté par : T. Rossini
----------------------------------------
-----------------
Citation :
ERROR: ERREUR: erreur de syntaxe sur ou près de « CREATE » LINE 2: (CREATE OR REPLACE VIEW
vue_puces AS (
-----------------
cela ne marche pas car le contenu de votre clause SELECT est une requête CREATE ce qui est
interdit. Je suis allé un peu vite dans mon
premier message : les requêtes construites doivent être du texte pour pouvoir être
interprétées correctement par la métacommande.
Vous pouvez construire des chaines de caractère avec l'opérateur de concaténation de
chaine || et donc mélanger du texte constant (le
corps des requêtes de création de vos vues, encadrés par des ' ) avec des des valeurs
variables (les numero de puce contenu dans votre table).
Voilà ce que devrait donner votre requête.
-----------------
Code :
SELECT
' CREATE OR REPLACE VIEW vue_puce'|| num_puce ||' AS ( '
||' SELECT date, poids '
||' FROM ma_table '
||' WHERE puce=\'|| num_puce::text||'\')'
FROM
ma_table
GROUP BY
puce
;
-----------------
-----------------
Citation :
Dans mon navigateur, j’ai trouvé une application appelée SQL Shell (psql),
-----------------
Je pense que c'est celà. Les versions récentes de pgadmin offrent également la
possiblité de lancer psql dans votre navigateur.
Si vous n'avez jamais utilisé psql, je vous conseille de passer par là.
Le shell sql vous permet de réaliser exactement la même chose que PgAdmin, mais en ligne
de commande.
Lorsque vous lancez cette application, vous etes connecté à la base de donnée et pouvez
dialoguer avec elle au travers de la ligne de commande.
Par exemple, une fois l'application lancée, en tapant
-----------------
Code :
SELECT 1 ;
-----------------
puis la touche entrée vous allez envoyer cette commande à la base de données et récuperer
le resultat.
Une métacommande se lance de la même manière qu'une commande SQL classique, dans votre
cas :
-----------------
Code :
\gexec
-----------------
puis entrée.
Une métacommande est une instruction qui n'est non pas donnée à votre serveur de base
de données, comme une requête select, mais
à votre client psql.
Par exemple, vous avez la métaacommande \h qui vous permet de consulter un aide mémoire
pour les commandes SQL. Exemple, en tapant
-----------------
Code :
\h SELECT
-----------------
puis entrée, psql va vous afficher le pense bête de la commande SELECT.
La commande \? permet quant à elle de lister toutes les métacommandes proposées par psql.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=350889#p350889
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