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

#1 29/04/2009 10:08:33

Rabbit
Membre

Migration de vues

Bonjour à tous,

Je suis actuellement en train de faire une migration d'Oracle vers Postgre et je rencontre quelques problèmes avec mes vues.
Certaines vues utilisent d'autres vues dans des jointures et postgre n'a pas l'air d'apprécier, alors que ça fonctionne parfaitement sous Oracle...
En gros ça donne ça:

CREATE OR REPLACE VIEW ma_vue AS 
SELECT  ma_table.donnee           
FROM mon_autre_vue
LEFT OUTER JOIN ma_table ON mon_autre_vue.cle_etrangere=ma_table.cle_primaire;

Postgre me retourne cette erreur:
ERROR: relation "mon_autre_vue" does not exist
État SQL :42P01


Merci de votre aide!

Hors ligne

#2 29/04/2009 10:22:40

Marc Cousin
Membre

Re : Migration de vues

Normalement, ça marche (j'en ai des tonnes comme ça smile )

Est ce que l'autre vue est dans le même schéma (sinon il faut la préfixer par son schéma ou corriger le search_path) ? Est ce qu'elle est déjà crée au moment de l'exécution de cette requête ?

Quelle version de PostgreSQL ?


Marc.

Hors ligne

#3 29/04/2009 10:32:13

Rabbit
Membre

Re : Migration de vues

En fait je crois avoir trouvé l'origine de mon problème.
J'avais oublié d'enlever les double-quote autour du nom de la vue, il semblerait que ça vienne de ça (je saurais pas dire pourquoi d'ailleurs... tongue)
A présent il reconnait ma vue.
Désolé pour le dérangement et merci pour cette réponse rapide!

Hors ligne

#4 29/04/2009 10:37:16

Marc Cousin
Membre

Re : Migration de vues

les double quote forcent entre autres le respect de la casse. Si la vue venait d'oracle, je présume que le nom était en majuscules entre double quotes ? Alors que le nom de la vue avait probablement été créé en minuscule, s'il n'avait pas été double quoté.

Ca vient du fait qu'Oracle par défaut stocke tous les noms d'objets en majuscule, et postgres en minuscule.


Marc.

Hors ligne

#5 29/04/2009 10:47:12

Rabbit
Membre

Re : Migration de vues

Effectivement, c'est bien un problème de casse. J'ignorais l'utilité des double-quote, je me coucherai moins bête ce soir smile

Hors ligne

Pied de page des forums