Function with DEFAULT arguments - Mailing list pgsql-general

From dario.ber@libero.it
Subject Function with DEFAULT arguments
Date
Msg-id 32871558.187291268411337102.JavaMail.defaultUser@defaultHost
Whole thread Raw
Responses Re: Function with DEFAULT arguments  (hubert depesz lubaczewski <depesz@depesz.com>)
Re: Function with DEFAULT arguments  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Hello,

I'm trying to use the DEFAULT option to pass parameters to the arguments of a
function.
When I call that function, how can I change the default value of some
arguments and leave as default the value of other arguments? In other words, is
there a way to 'call' the arguments by their names so to specify which should
have their default value changed?

Here's a toy example, a function that takes three strings as arguments and
concatenate them:

CREATE FUNCTION test_default(string1 text default 'a', string2 text default
'b', string3 text default 'c') RETURNS text AS $$
BEGIN
RETURN string1 || string2 || string3;
END;
$$ language 'plpgsql';

-- Only default args:
SELECT test_default();   --> abc

-- With custom values:
SELECT test_default('X', 'Y', 'Z'); --> XYZ

-- Now, how can I leave as default the 1st and 3rd argument (string1 and
string3) and change only the second one (string2)? I would like to do something
like:
SELECT test_default(string2= 'Y');   -- To return 'aYb'

And in general, are there any examples/documentation that show how to use the
option default?
I'm using postgresql 8.4.2 on Windows XP.

Many thanks

Dario

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Unable to call functions defined in XML2 contrib
Next
From: hubert depesz lubaczewski
Date:
Subject: Re: Function with DEFAULT arguments