Hmm.. I was trying simplify my function to get the point across with minimal confusion. If you don't think there is enough detail, let me know what is lacking and I will add the appropriate detail. The function is executed BEFORE insert on table1. Thanks again for the help all

Kris




Tom Lane wrote:

Kris Kiger <[EMAIL PROTECTED]> writes:


Here is my problem. I have a function that is triggered on insert. For simplicity's sake, lets say the function looks like this:





CREATE OR REPLACE FUNCTION dostuff_on_insert() RETURNS TRIGGER AS '
DECLARE lockrows RECORD;
BEGIN
select into lockrows * from table1 where pkey_id = NEW.pkey_id for update on table1;
update table1 set active = false where NEW.pkey_id = pkey_id and active;
NEW.active := true;
END;
'language 'plpgsql';



This is awfully vague. What table is the trigger placed on? (If table1 itself, seems like there are more efficient ways to do this.) What events is the trigger fired for, and is it BEFORE or AFTER?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings




---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to