A question about the number of times a trigger will fire

Поиск
Список
Период
Сортировка
От stan
Тема A question about the number of times a trigger will fire
Дата
Msg-id 20200305145811.GA17538@panix.com
обсуждение исходный текст
Ответы Re: A question about the number of times a trigger will fire
Список 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



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

Предыдущее
От: Олег Самойлов
Дата:
Сообщение: Re: pg_dump and public schema
Следующее
От: Kevin Brannen
Дата:
Сообщение: RE: trouble making PG use my Perl