Thread: new.oid not working inside rule [repost]
I am reposting this because I haven't gotten an answer... is anyone successfully using new.oid within a rule to store the oid of an inserted row into another table? (See below) This is in 6.4.2-3. thanks, --Michael Michael Olivier wrote: > > 2. How can I get the oid of a record being inserted? Using new.oid > isn't getting it for me... the field in my changes table remains > blank... > > create rule users_add_rule as on insert to users do > insert into changes (table_name, change_time, ref_oid, type) > values ('users', 'now', new.oid, 'insert'); > > Getting some other field, like new.acctname, does work... > > Thanks, > Michael
> > I am reposting this because I haven't gotten an answer... is anyone > successfully using new.oid within a rule to store the oid of an inserted > row into another table? (See below) > > This is in 6.4.2-3. It cannot work - sorry. This is because of the way rules are executed. If you have a rule on INSERT, this rules action is executed prior to the INSERT itself and will do mainly the same scans to collect the data that will be inserted (in the case of INSERT...SELECT...). At this time, the OID's which will later get assigned aren't known. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #========================================= wieck@debis.com (Jan Wieck) #