Peter Mount wrote:
>
> Not knowing much on this side of things but in JDBC, CallableStatement
> mentions things like IN, OUT & INOUT args - not sure about INOUT, but IN &
> OUT are there. Perhaps OUT are not valid for selects, but are in stored
> procedures?
>
> Peter
>
> --
> Peter Mount
> Enterprise Support
> Maidstone Borough Council
> Any views stated are my own, and not those of Maidstone Borough Council
>
> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Tuesday, June 27, 2000 9:51 AM
> To: Thomas Lockhart
> Cc: Hackers List
> Subject: Re: [HACKERS] SQL99 functions
>
> Thomas Lockhart <lockhart@alumni.caltech.edu> writes:
> > I see mention in SQL99 of function definitions which can have IN, OUT,
> > and INOUT arguments. Any thoughts on how this could be supported in
> > Postgres?
>
> I noticed that but haven't quite figured out how it's supposed to fit
> into the SQL worldview at all. Surely
> SELECT foo(x) FROM table
> shouldn't silently mutate into an UPDATE depending on how foo() is
> declared. Exactly where is a function with OUT args useful in SQL?
They are used (at least) in PL/SQL nad other PLs.
To return multiple values OUT args are one possible solution.
Also one could have session variables possibly like this:
DECLARE VARIABLE MY_VAR INT;
EXECUTE MY_PROC(MY_VAR);
SELECT * FROM SOME_TABLE WHERE ID=MY_VAR;
-----------
Hannu