Re: Help with optional parameters

From: Curtis Scheer <Curtis(at)DAYCOS(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Cc: Rob Tester <robtester(at)gmail(dot)com>
Subject: Re: Help with optional parameters
Date: 2006-09-21 22:18:48
Message-ID: 031936836C46D611BB1B00508BE7345D04AD244C@gatekeeper.daycos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I noticed this one by searching in the archives, as I am working with some
"optional" parameters myself and noticed your solution. I just wanted to
make one improvement suggestion which is instead of checking whether or not
a parameter has been used simply start your query like so

Query_base := 'SELECT * FROM my_table WHERE 1 =1;

If you do that then you can just add on any parameters you need or not add
any at all. I think that seems to be a bit simpler than having a "has_param"
Boolean variable.

Thanks,

Curtis

_____

From: Rob Tester [mailto:robtester(at)gmail(dot)com]
Sent: Thursday, August 17, 2006 8:58 PM
To: MaXX
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] Help with optional parameters

BEGIN
query_base := 'SELECT * FROM my_table ';
has_param := FALSE;
query_where := '';
IF (a IS NOT NULL) THEN
IF (has_param IS FALSE)THEN
-- there is no param yet add WHERE to the query
query_where := ' WHERE ';
ELSE
-- there is already something in the WHERE clause, we need to add AND
query_where := query_where || ' AND ';
END IF;
query_where := query_where || 'parama='||a;
--beware if param quoting is required
has_param := TRUE; -- now there is at least 1 param
END IF;

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message MaXX 2006-09-21 22:48:14 Re: Help with optional parameters
Previous Message Markus Schaber 2006-09-21 07:46:11 Re: unique rows