Re: Using null or not null in function arguments
От | Igor Katson |
---|---|
Тема | Re: Using null or not null in function arguments |
Дата | |
Msg-id | 4979B8FF.9000803@gmail.com обсуждение исходный текст |
Ответ на | Re: Using null or not null in function arguments (Raymond O'Donnell <rod@iol.ie>) |
Список | 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 по дате отправления: