Обсуждение: Function with default value?
Hi,
Is it possible to define a function with some default values?
CREATE OR REPLACE FUNCTION foo(i IN int, j IN int DEFAULT := 1)
…
Anyway, I didn’t find such a feature described in the PostgreSQL 8.1 documentation, but sometimes, that doesn’t mean that the feature doesn’t exist! J
Thanks,
Daniel
Daniel CAUNE <d.caune@free.fr> writes:
> Is it possible to define a function with some default values?
> CREATE OR REPLACE FUNCTION foo(i IN int, j IN int DEFAULT := 1)
No. But you can fake many versions of this with a family of functions:
CREATE OR REPLACE FUNCTION foo(i IN int, j IN int) ...
CREATE OR REPLACE FUNCTION foo(i IN int) ... return foo(i, 1) ...
Remember that PG lets you "overload" a function name by using the same
name with different parameter lists.
regards, tom lane
> -----Message d'origine----- > De : Tom Lane [mailto:tgl@sss.pgh.pa.us] > Envoyé : dimanche 29 janvier 2006 10:48 > À : Daniel CAUNE > Cc : pgsql-sql@postgresql.org > Objet : Re: [SQL] Function with default value? > > Daniel CAUNE <d.caune@free.fr> writes: > > Is it possible to define a function with some default values? > > CREATE OR REPLACE FUNCTION foo(i IN int, j IN int DEFAULT := 1) > > No. But you can fake many versions of this with a family of functions: > > CREATE OR REPLACE FUNCTION foo(i IN int, j IN int) ... > > CREATE OR REPLACE FUNCTION foo(i IN int) ... return foo(i, 1) ... > > Remember that PG lets you "overload" a function name by using the same > name with different parameter lists. > > regards, tom lane Yes, thanks Tom, for the second time.