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

Поиск
Список
Период
Сортировка
От chandru.aroor@yahoo.com
Тема How to include/reference a common bit of code in a function
Дата
Msg-id 2117788854.111664.1529543508328@mail.yahoo.com
обсуждение исходный текст
Ответы Re: How to include/reference a common bit of code in a function  (Laurenz Albe <laurenz.albe@cybertec.at>)
Список pgsql-novice
Hi all,

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
AND Condition 1
AND Condition 2
AND Condition 3

UNION ALL

SELECT (column 1, ...column n) from Table C
WHERE ( column  A OR column B OR ...repeated 31 times) = true
AND Condition 4
AND Condition 5
AND Condition 6

UNION ALL

SELECT (column 1, ...column n) from Table D
WHERE ( column  A OR column B OR ...repeated 31 times) = true
AND Condition 7
AND Condition 8
AND Condition 9

UNION ALL repeated about 10 times.

)

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. 

The above is a representation of the function and I have simplified it so I could highlight attention on the above question. 

Thanks! 

Chandru

В списке pgsql-novice по дате отправления:

Предыдущее
От: Damian Carey
Дата:
Сообщение: Re: Postgres on Unix/Debian - seeking "dummies guide"
Следующее
От: Laurenz Albe
Дата:
Сообщение: Re: How to include/reference a common bit of code in a function