prorm API Reference
    Preparing search index...

    Type Alias TriggerAction

    TriggerAction:
        | { set: Record<string, unknown> }
        | { insertInto: TriggerTable; values: Record<string, unknown> }
        | {
            update: TriggerTable;
            set: Record<string, unknown>;
            where?: WhereOptions;
        }
        | { deleteFrom: TriggerTable; where?: WhereOptions }
        | { raise: string }

    One statement in a trigger body.

    These cover what triggers are overwhelmingly used for. Anything else is still expressible as a raw string body.

    Type Declaration

    • { set: Record<string, unknown> }

      Assign columns on the row being written — the point of most BEFORE triggers: { set: { updatedAt: fn('CURRENT_TIMESTAMP') } }.

    • { insertInto: TriggerTable; values: Record<string, unknown> }

      Write a row somewhere else, typically an audit table.

    • { update: TriggerTable; set: Record<string, unknown>; where?: WhereOptions }

      Update rows elsewhere, e.g. maintaining a counter.

    • { deleteFrom: TriggerTable; where?: WhereOptions }

      Delete rows elsewhere.

    • { raise: string }

      Reject the change with a message.