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?

			regards, tom lane

Tue, 27 Jun 2000 10:13:14 +0100
Peter Mount <petermount@it.maidstone.gov.uk>
RE: SQL99 functions 
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

Tue, 27 Jun 2000 13:06:40 +0300
Hannu Krosing <hannu@tm.ee>
Re: SQL99 functions