Re: CRecordset::Open postgresql procedure call don't work - Mailing list pgsql-general

From John McKown
Subject Re: CRecordset::Open postgresql procedure call don't work
Date
Msg-id CAAJSdji1EnD6VyNt9QrK9NciWPiK2J6tMonRF6zzoxf2b-jUqg@mail.gmail.com
Whole thread Raw
In response to CRecordset::Open postgresql procedure call don't work  (jeanclaude marzin <jeanclaude.marzin@sfr.fr>)
List pgsql-general
On Mon, Jul 15, 2019 at 6:40 AM jeanclaude marzin <jeanclaude.marzin@sfr.fr> wrote:
‌Hi
I migrate from MSSQL to postgresql 11. I translate MSSQL stored procedure to Postgresql one :


CREATE PROCEDURE procacp ()
LANGUAGE SQL
AS $$
SELECT tabjdbexploit.jdbeid, tabjdbexploit.jdbeproc,
    tabjdbexploit.jdbedate, tabjdbexploit.jdbetypemsg,
    tabjdbexploit.jdbeurg, tabjdbexploit.jdbeconfid,
    tabjdbexploit.jdbeetat, tabmsgacp.acpid,  
    tabmsgacp.acpnumserie,
    tabmsgacp.acpsignserv, tabmsgacp.acpnumligne,
    tabmsgacp.acpiaorigine, tabmsgacp.acpgdh,
    tabmsgacp.acperv,  tabmsgacp.acpcdu,
    tabmsgacp.acpdir, tabmsgacp.acppere,
    tabmsgacp.acpcomplement, tabmsgacp.acpsection

FROM tabjdbexploit INNER JOIN
    tabmsgacp ON tabjdbexploit.jdbeid = tabmsgacp.acpid

ORDER BY tabjdbexploit.jdbedate ASC
$$;


All seems OK in PgAdmin 4, procedure is created

I use ODBC and Crecorset in C++

When i use the ca
ll strSQL = "{CALL procacp()}". It don't work :

Message error : ERROR: procacp() is a procedure

I don't know what to do

Thanks in advance for any assistance

Jean-Claude

I am fairly sure that you need to make an FUNCTION and not a PROCEDURE. Functions return values. Procedures do not. Why not try replacing the word PROCEDURE with FUNCTION and give it another try?


--
We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise. -- Larry Wall

Maranatha! <><
John McKown

pgsql-general by date:

Previous
From: Fabio Pardi
Date:
Subject: Re: help understanding pgbench results
Next
From: Pavel Stehule
Date:
Subject: Re: CRecordset::Open postgresql procedure call don't work