Re: How to include/reference a common bit of code in a function

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: "caroor(at)yahoo(dot)com" <caroor(at)yahoo(dot)com>, "pgsql-novice(at)lists(dot)postgresql(dot)org" <pgsql-novice(at)lists(dot)postgresql(dot)org>
Subject: Re: How to include/reference a common bit of code in a function
Date: 2018-06-21 06:51:23
Message-ID: 1529563883.2488.2.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

chandru(dot)aroor(at)yahoo(dot)com wrote:
> I have a function that has multiple UNION ALLs. As part of the WHERE condition I
> need to test if any one of 31 columns is true. So right now I have my function looking something like:
>
>
> Insert into Table A (column 1, ... column n) (
> SELECT (column 1, ...column n) from Table B
> WHERE ( column A OR column B OR ...repeated 31 times) = true
> [...]
> My question is there anyway that I can substitute the list of 31 of OR columns
> (always the same 31 column names) in my WHERE clause with a "shortcut" so my code
> is shorter and cleaner. I need to create additional functions for other tables that
> use the same 31 ORs, so trying to find an easy way to reference this list of ORs
> across all my functions. Note, the additional WHERE clauses differ for each of the
> Unions, so I have them numbered 1,2,3 for the first SELECT, 4,5,6 for the second SELECT etc.

It would be shorter to write

WHERE TRUE IN (columnA, columnB, ...)

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message rohan.parkes 2018-06-22 04:32:08 pg_restore hangs on materialized view [SEC=UNCLASSIFIED]
Previous Message chandru.aroor@yahoo.com 2018-06-21 01:11:48 How to include/reference a common bit of code in a function