On this track (possibly unrelated)...can a view be used as part of the
multi table update 
Just curious


 On Wed, 2016-01-27 at 14:48 -0500, Don Parris wrote:
> I have several tables related to people and their contact information,
> and want db users to be able to add or update a given person and their
> respective contact information in one step, and get all the
> information into the correct tables.
> 
> 
> 
> I think I am ok with setting the privileges on the tables and columns
> as appropriate to allow each group to select, insert and update the
> appropriate data, and I can create appropriate views for them to view
> data they need to see. However, I am not really sure about the best
> way to allow someone to actually insert/update the data.
> 
> 
> 
> For instance, given the following tables:
> 
> 
> core.category
> contact.entity
> 
> 
> contact.person
> 
> contact.entity_category --linking table between entity and category
> 
> 
> contact.person_entity --linking table between entity & person
> 
> ... --other tables for address and phone contact info
> 
> 
> 
> I haven't really given much thought as to how such a procedure might
> look, but I'm guessing something along the lines of:
> CREATE FUNCTION record_insert() RETURNS integer AS $$
> 
> BEGIN
> INSERT statements... --need PK from entity & category tables to insert
> into entity_category table.
> 
> END
> 
> $$
> 
> language plpgsql;
> 
> 
> Ideally, the db user just says "I want to enter Joe Public, and Joe is
> affiliated with the Widget Corp entity, and has the phone numbers..."
> 
> 
> 
> Am I on the right track, or is there some better way to set this up?
> My understanding is that views really aren't meant for insert/update
> operations, and I have seen on the web that using views to
> insert/update is a bit tricky - and still requires a procedure with a
> rule on the view.
> 
> 
> 
> Thanks,
> 
> Don
> 
> -- 
> 
> D.C. Parris, FMP, Linux+, ESL Certificate
> Minister, Security/FM Coordinator, Free Software Advocate
> 
> http://dcparris.net/
> GPG Key ID: F5E179BE

Reply via email to