From: | stan <stanb(at)panix(dot)com> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | A question about the number of times a trigger will fire |
Date: | 2020-03-05 14:58:11 |
Message-ID: | 20200305145811.GA17538@panix.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I am in the process of trying to set up a function.trigger pair to create
functionally an updateable view.
I would think that the trigger would fire the number of times that the
calling statement's WHERE clause seceded. Is this incorrect>
I have a view called purchase_view, one of the tables in it's join is a
table called bom_item.
I have defined this trigger:
REATE TRIGGER test_v_trig
INSTEAD OF INSERT OR UPDATE ON purchase_view
FOR EACH ROW EXECUTE PROCEDURE v_trig_test();
Prior to firing this trigger this query
select count(*)
FROM purchase_view
WHERE
proj_no = 3124
AND
m_name = 'Mencom' ;
returns 11
The resultant statement generated by the function called by this trigger
is:
UPDATE BOM_ITEM SET cost_per_unit = 23.45 , qty = 12345.00
Which in retrospect dies not do what I had in mind :-)
So, it appears that I need to create a WHERE clause for the resultant
statement. But I do not see how the function has enough data to use to
create this where clause.
What am I missing, here?
--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Brannen | 2020-03-05 15:45:25 | RE: trouble making PG use my Perl |
Previous Message | Олег Самойлов | 2020-03-05 14:57:16 | Re: pg_dump and public schema |