Oracle 10g weird behaviour

oracleoracle-10g

We have a thick client application using an Oracle 10g database. We recently upgraded the application and in the process migrated the database tables from a latin to unicode character set.

After the upgrade some fields behaved 'read only' from the GUI screens. We found that we had some wrong values and updated them using an SQL command line tool and these fields suddenly became editable in the application.

So we updated the fields for all the rows and the problem disappeared completely.

The two queries we used were:

update listings_text set text = 'Y' where text = 'y';

and

update listings_text set text = text;

Now the second query should be a noop. But its not. Can anyone explain why this query might have an effect?

Best Answer

The "noop" would have fired any related triggers on the table, and it would have advanced the system change number.