Trigger using 'if NEW = OLD'

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Colin Fox

    Trigger using 'if NEW = OLD'

    I've got a trigger function that gets executed after an insert or an
    update. It basically just creates a copy of the row in a history table.

    However, there are cases when a row will be updated to be the same as it
    was - in other words, no change. In these cases, the history is useless
    and taking up space.

    So I want the procedure to start with:

    IF NEW = OLD then
    return NEW;
    end if;

    thus exiting before the history record gets created.

    However, if I do that, I get:
    WARNING: line 6 at if
    ERROR: NEW used in non-rule query

    What is a non-rule query? :(

    I'm led to believe by the documentation and other postings I've seen
    archived on the web that this should be possible.

    Am I doing something wrong, or do I have to do it the long way around
    (field by field comparison)?

    Thanks,
    cf

    --
    Colin Fox
    President
    CF Consulting Inc.

Working...