Обсуждение: if row has property X, find all rows that has property X
For example I have table addresses and usually I want 2 things: 1. Find id of bad addresses. 2. Check if this address is good or bad. For this I write two plpgsql functions 1. find_all_bad_addresses 2. is_bad_address(id) These functions will duplicate logic of each other. How to not repeat myself? Thanks
Дмитрий Голубь wrote > For example I have table addresses and usually I want 2 things: > 1. Find id of bad addresses. > 2. Check if this address is good or bad. > > For this I write two plpgsql functions > 1. find_all_bad_addresses > 2. is_bad_address(id) > > These functions will duplicate logic of each other. How to not repeat > myself? You can call other functions while inside a function...... CREATE FUNCTION do_a() ... $$ do_something; $$ CREATE FUNCTION do_b() ... $$ do_a(); $$ David J. -- View this message in context: http://postgresql.1045698.n5.nabble.com/if-row-has-property-X-find-all-rows-that-has-property-X-tp5808885p5808888.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
On Tue, Jun 24, 2014 at 8:40 AM, David G Johnston <david.g.johnston@gmail.com> wrote: > Дмитрий Голубь wrote >> For example I have table addresses and usually I want 2 things: >> 1. Find id of bad addresses. >> 2. Check if this address is good or bad. >> >> For this I write two plpgsql functions >> 1. find_all_bad_addresses >> 2. is_bad_address(id) >> >> These functions will duplicate logic of each other. How to not repeat >> myself? > > You can call other functions while inside a function...... > > CREATE FUNCTION do_a() ... $$ do_something; $$ > CREATE FUNCTION do_b() ... $$ do_a(); $$ I'd consider making 'bad address' a view: CREATE VIEW bad_address AS SELECT * FROM Property WHERE ... Then just reference that in relevant code. merlin