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

#1 19/11/2010 18:39:36

scfi
Membre

Erreur syntaxe WITH

Bonjour à tous,

Je souhaite exécuter une assez grande requête dans pgadmin, qui démarre par un WITH :
WITH w_nom AS(

Il s'arrête à l'exécution dès cette première ligne avec l'erreur
"ERREUR: erreur de syntaxe sur ou près de « WITH »
État SQL :42601
Caractère : 3"

Impossible de trouver une solution...

Avez-vous une idée du problème ?

Merci d'avance,

Hors ligne

#2 19/11/2010 18:43:34

Marc Cousin
Membre

Re : Erreur syntaxe WITH

à mon avis, vous avez un caractère parasite entre WITH et w_nom (un espace insécable au lieu d'un espace normal, par exemple)


Marc.

Hors ligne

#3 19/11/2010 21:38:31

gleu
Administrateur

Re : Erreur syntaxe WITH

Pour infos, j'exécute sans problème des requêtes WITH sur pgadmin.


Guillaume.

Hors ligne

#4 22/11/2010 12:02:27

scfi
Membre

Re : Erreur syntaxe WITH

Bonjour,

Merci à vous. Aujourd'hui plusieurs tests, j'ai retapé la ligne à la main pour être sûr, même souci...

N'y a t-il rien d'autre à déclarer avant, ou autoriser ?

Merci d'avance.

EDIT : En testant avec l'exemple suivant, même constat :

WITH RECURSIVE t(n) AS (
    SELECT 1
  UNION ALL
    SELECT n+1 FROM t
)
SELECT n FROM t LIMIT 100;

Dernière modification par scfi (22/11/2010 12:03:38)

Hors ligne

#5 22/11/2010 12:06:37

Marc Cousin
Membre

Re : Erreur syntaxe WITH

Bonjour,

Je viens d'exécuter cette requête, par copier coller, dans psql et pgadmin 1.12.1 (sous Linux), sans aucun souci.

Il y a forcément autre chose…

Quelle version précise de pgadmin3, de PostgreSQL, sur quel système d'exploitation ?


Marc.

Hors ligne

#6 22/11/2010 12:11:29

scfi
Membre

Re : Erreur syntaxe WITH

Voici ce que retourne mon "SELECT version()" :

"PostgreSQL 8.1.21 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)"

WITH n'est pas implémenté en 8 peut-être ?

Mon pgadmin3 est la dernière, la 1.12.1 (installé sous un windows).

Merci d'avance.

Hors ligne

#7 22/11/2010 12:12:42

Marc Cousin
Membre

Re : Erreur syntaxe WITH

WITH n'existe que dans PostgreSQL 8.4 et supérieur. Voila la cause du problème.


Marc.

Hors ligne

#8 22/11/2010 12:45:29

scfi
Membre

Re : Erreur syntaxe WITH

Et oui je viens de voir ça...

Merci.

Hors ligne

Pied de page des forums