PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 23/04/2019 10:12:35

caius
Membre

relation curseur n'existe pas

Bonjour tout le monde,

alors ma question peut paraitre bête (désolé si c'est le cas) mais je ne comprends pas. j'essaie de convertir une procédure oracle en fonction postgres.
J'ai un curseur :

CREATE or REPLACE FUNCTION import_piece_fichier(p_file_name character varying) returns void
LANGUAGE 'plpgsql'
AS $$
DECLARE
	batiment_cur CURSOR FOR SELECT * FROM dev_tool.rs_batiment ORDER BY num_comp;
        ...
        ...

mais je récupère l'erreur suivante

ERROR: relation "batiment_cur" does not exist
CONTEXT: compilation of PL/pgSQL function "import_piece_fichier" near line 4
État SQL :42P01

Je précise pour information que ma table rs_batiment, est une table distance (venant d'une base oracle) et que j'importe via le wrapper oracle_fdw. Lorsque je fais un simple select * sur cette table, je récupère bien les informations.
Pourquoi mon curseur reste indéfini ? Il me semble que je le déclare de la bonne façon pourtant... où ai-je fait une erreur svp ?

Merci d'avance smile

Dernière modification par caius (23/04/2019 10:38:46)

Hors ligne

#2 23/04/2019 10:53:32

caius
Membre

Re : relation curseur n'existe pas

Bon  alors le problème venait de ma boucle for qui suivait :

FOR l_batiment IN batiment_cur LOOP

où l_batiment était une variable déclarée, ce qu'il ne faut pas.

Hors ligne

Pied de page des forums