Re: Function with OUT parameter and Return Query

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Hector Menchaca <hm34306(at)hotmail(dot)com>
Cc: "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Function with OUT parameter and Return Query
Date: 2014-10-05 08:06:04
Message-ID: CAECtzeU-ytmcdYWXbZNHZ1Vv3O3+kxOB-cB1a0iH=-A-Co=F+w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

2014-10-05 6:23 GMT+02:00 Hector Menchaca <hm34306(at)hotmail(dot)com>:

> All,
> Struggling tying to get a function that works in Maraidb stored procs...
> looking to return an OUT Parameter value with Return Query
>
> CREATE FUNCTION sp_AgentServer_Register (_agentserver_name TEXT, _port
> INTEGER, out _out_agent_server_id INTEGER)
> RETURNS SETOF AgentServer
> AS $$
> BEGIN
> Select _agent_server_id INTO _out_agent_server_id FROM
> sp_private_AgentServer_Insert(_agentserver_name, _port);
>
> Update AgentServer
> SET RegisteredOn = NOW()
> where AgentServer_ID = _out_agent_server_id;
>
> RETURN QUERY
> Select * From AgentServer where AgentServer_ID = _out_agent_server_id;
> END$$ LANGUAGE plpgsql;
>
> In doing this an error is returned :
> ERROR: function result type must be integer because of OUT parameters
>
> If I change to Integer, then I get an Error From the return query...
> ERROR: cannot use RETURN QUERY in a non-SETOF function
>
> Is there a way to do this? (I'm assuming no at this point... i hoping
> there is some flag or something that I can set...)
> I can do this with MariaDB and SqlServer...
>
>
In the above function, you don't need the ", out _out_agent_server_id
INTEGER" because you already have it in the AgentServer record it sends
back. So get rid of it, and it should work.

--
Guillaume.
http://blog.guillaume.lelarge.info
http://www.dalibo.com

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Hector Menchaca 2014-10-05 18:10:36 Re: Function with OUT parameter and Return Query
Previous Message Hector Menchaca 2014-10-05 04:23:47 Function with OUT parameter and Return Query