Error in executing stored

From: Andrea Ricci <andrea(dot)ricci(at)dedalus(dot)eu>
To: pgsql-odbc(at)postgresql(dot)org
Subject: Error in executing stored
Date: 2025-09-04 07:56:57
Message-ID: 32c001e8-652e-48cf-99e9-d72191195cee@dedalus.eu
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

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

--

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Dave Cramer 2025-09-04 09:40:43 Re: Error in executing stored
Previous Message Igor Korot 2025-08-02 16:22:36 SQLStatistics API