Re: INOUT PARAMETERS WITH RETURN TABLES IN FUNCTION

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: İlyas Derse <ilyasderse(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: INOUT PARAMETERS WITH RETURN TABLES IN FUNCTION
Date: 2019-11-14 15:45:34
Message-ID: 0a7f4566-8b1b-3847-bcd8-6e94f50c0ee3@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 11/13/19 11:58 PM, İlyas Derse wrote:

Please reply to list also.
Ccing list.

> I want to do like this ;

I can't make sense of the below. I don't see where "x" and "y" are used
in the function, unless they supposed to be "id" and "filesize". I have
no idea what the QUERY is doing? Pretty sure you don't want an
unconstrained select on a table. Can you provide a working example of
what you are doing in SQL Server with sample output from same?

>
> |CREATEorREPLACE FUNCTIONpublic."test"(INOUT "x"integer,INOUT
> "y"text)RETURNS TABLE("id"integer,"filesize"character
> varying(36))AS$$BEGINRETURNQUERY
> SELECT*FROMpublic."tbl_employees";END;$$LANGUAGE plpgsql;|
>
> |I need to call table and inout parameters together at another place.|
>
>
> Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com
> <mailto:adrian(dot)klaver(at)aklaver(dot)com>>, 8 Kas 2019 Cum, 18:25 tarihinde
> şunu yazdı:
>
> On 11/8/19 12:18 AM, İlyas Derse wrote:
> > I'm trying to migration to PostgreSql from SQL Server.  I have
> Stored
> > Procedures what have output parameters and return tables. How can
> i do
> > both together.
>
> Can you show an example of a SQL Server procedure that demonstrates
> what
> you want to achieve?
>
> >
> > Its like ;
> >
> > CREATE or replace FUNCTION public."test" (INOUT "x" integer,
> INOUT "y"
> > character varying(36))
> >
> > RETURNS TABLE  (
> > "id" integer,
> > "filesize" character varying(36)
> > )
> > AS $$
> >   BEGIN
> >    x=6;
> > RETURN QUERY
> > SELECT * FROM    public."tbl_employees" ;
> >
> > END;
> > $$ LANGUAGE plpgsql;
> >
> > I can not create that because of inout parameters.
> > Another place;
> >
> > do $$
> > DECLARE b integer = 1;
> > DECLARE d integer = 2 ;
> > BEGIN
> >    select * from public."test"();
> > END;
> > $$;
> >
> >   Anybody have an idea ?
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2019-11-14 15:45:54 Re: Problems modifyiong view
Previous Message Adrian Klaver 2019-11-14 15:30:33 Re: Problems modifyiong view