Re: Using null or not null in function arguments - Mailing list pgsql-general

From Igor Katson
Subject Re: Using null or not null in function arguments
Date
Msg-id 4979B8FF.9000803@gmail.com
Whole thread Raw
In response to Re: Using null or not null in function arguments  (Raymond O'Donnell <rod@iol.ie>)
List pgsql-general
Raymond O'Donnell wrote:
> On 23/01/2009 11:16, Igor Katson wrote:
>
>
>> How do I write a function without complex logic, which will do:
>> a) If the input argument is NULL, then the corresponding select
>> statement will change from
>>
>> column = arg
>> to
>> column IS NULL
>>
>
> You could build your statement dynamically as a string, then execute it
> using EXECUTE:
>
> http://www.postgresql.org/docs/8.3/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
>
>
>
>> b) If the input argument is NULL, then the corresponding select
>> statement will be removed, so if it was not written.
>>
>
> Likewise - something like
>
>   if i_city_id is null then
>     ... build statement...
>     ... execute statement ...
>   end if;
>
> HTH,
>
> Ray.
>
Thanks, Ray, but I see now, that I didn't explain the exact problem
correctly. The one is, that this kind of functions (search ones) can
have tens of arguments, and the more the amount of arguments is, the
more combinations of IF ... THEN conditionals will be present to build
the logic. If I have a couple of them, this can be easily handled
through IF THEN, or dynamic statements, but what if I have tens of 'em?

pgsql-general by date:

Previous
From: Howard Cole
Date:
Subject: How to convert ByteA to Large Objects
Next
From: "Francisco Figueiredo Jr."
Date:
Subject: Re: How to convert ByteA to Large Objects