cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Trigger Computed column refresh

Former Member
5,654

I have 2 tables (parent and child). On parent, I have a computed column that is sum of ColA in Child table by parent id.

My problem is: how to refresh computed column value when I have a insert/delete on child table? I don't need to process updates since my program doesn't allows it.

View Entire Topic
MCMartin
Participant

Use after insert, update and delete triggers like:

create TRIGGER "AInsert" after insert on child referencing new as new_row

create TRIGGER "AUpdate" after update of ColA, order 1 on child referencing new as new_row

create TRIGGER "ADelete" after delete order 1 on child referencing old as old_row

Former Member
0 Likes

what?! I don't understand! I know how to work with triggers, but I need a way to refresh computed column values when rows are inserted/deleted on another table!

MCMartin
Participant
0 Likes

I just wanted to give you a starter on how to work with a trigger to solve your problem. I didn't thought, that you were using the term computed column in its technical way, in that case Volkers answer is more appropriate.

VolkerBarth
Contributor
0 Likes

As stated in my answer, I would not recommend to do so if this column is really "computed".

How is the column declared - do you use an UDF to sum up the childs?

Former Member

In the help, in section SQL Anywhere Server - SQL Usage » Database objects » Computed columns » Recalculating computed columns, it states:

Computed columns are not recalculated under the following circumstances:

The computed column is queried.

The computed column depends on the values of other rows (using a subquery or user-defined function), and these rows are changed.