Обсуждение: Function with default value?

Поиск
Список
Период
Сортировка

Function with default value?

От
Daniel CAUNE
Дата:

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

Re: Function with default value?

От
Tom Lane
Дата:
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


Re: Function with default value?

От
Daniel CAUNE
Дата:
> -----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.