public inbox for pgsql-odbc@postgresql.org
help / color / mirror / Atom feedFrom: Andrea Ricci <andrea.ricci@dedalus.eu>
To: pgsql-odbc@postgresql.org
Subject: Error in executing stored
Date: Thu, 4 Sep 2025 09:56:57 +0200
Message-ID: <32c001e8-652e-48cf-99e9-d72191195cee@dedalus.eu> (raw)
Hi,
using 17.0.6 version (and 13 yet, in another test) of ODBC driver
against a PostGreSQL 17 database, I got an unexplicable error when, from
a PowerBuilder 12 application using the ODBC, I call a stored procedure;
_but the same procedure, when I execute it on PGAdmin works fine_!
The error is:
*/SQLSTATE = 34000
ERROR: cursor "doppie_ricette" does not exists; Error while executing
the query/
*
The stored is:
CREATE OR REPLACE PROCEDURE public.lomb_amb3_verifica_1()
LANGUAGE 'plpgsql'
AS $BODY$
declare ultima_riga integer;
ultima_nr char(16);
ultima_id char(8);
nR100 integer;
ultima_prov char(1);
*doppie_ricette *record;
begin
ultima_nr := '' ;
ultima_id := '';
ultima_riga := 0;
ultima_prov := '';
for *doppie_ricette *in
select numero_ricetta as nR,
id_univoco as id,
numero_riga_2 as _riga,
anno as _anno,
ospedale as osp,
id_riga as idR,
provenienza as _prov,
controllo as _controllo
from AMB_LOMB
where numero_ricetta is not null
and Length(Trim(numero_ricetta))>0
and pronto_soccorso<>'P'
and regime<>'7'
and provenienza<>'S'
order by 1 asc,7 asc,5 asc,4 asc,2 asc,6 asc
FOR UPDATE
loop
if doppie_ricette.nr = ultima_nr
and doppie_ricette._prov = ultima_prov
and doppie_ricette.id <> ultima_id then
-- Marcare la seconda (E TUTTE LE COLLEGATE) con codice di
errore
update amb_lomb
set errore='10C',
errore_grave=1,
riferimento_errore=Trim(to_char(ultima_riga, '99999'))
where current of doppie_ricette ;
else
-- TEST SU NOS_100 !
select Count(1) into nR100
from nos_100
where ris7 = doppie_ricette.nr
and ris8 = doppie_ricette._prov
and(ris15<>doppie_ricette.id or
ris18<>doppie_ricette._anno or ris1<>doppie_ricette.osp);
if nR100>0 then
if doppie_ricette._controllo in('A','C') then
update amb_lomb
set errore='10E',
errore_grave=1,
riferimento_errore=''
where current of doppie_ricette ;
else
update amb_lomb
set errore='10C',
errore_grave=1,
riferimento_errore='archivio'
where current of doppie_ricette ;
end if ;
end if ;
end if;
ultima_nr := doppie_ricette.nr;
ultima_id := doppie_ricette.id;
ultima_riga := doppie_ricette._riga;
ultima_prov := doppie_ricette._PROV ;
end loop ;
call LOMB_AMB45_ERR_GEN('10C',3);
call LOMB_AMB45_ERR_GEN('10E',3);
end;
$BODY$;
The mentioned table (amb_lomb) are without blobs or similar; there are
many others stored like this, working fine.
What I can do ?
thanks
Andrea
--
Attachments:
[image/png] Immagine.png (30.1K, 3-Immagine.png)
download | view image
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-odbc@postgresql.org
Cc: andrea.ricci@dedalus.eu
Subject: Re: Error in executing stored
In-Reply-To: <32c001e8-652e-48cf-99e9-d72191195cee@dedalus.eu>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox