I propose to implement "stationary" constraint (or any other name you like).
This constraint means that value of the field can't be changed with UPDATE command.
CREATE TABLE zzz (
ID INTEGER NOT NULL PRIMARY KEY STATIONARY,
For example i have many tables with field ID (PK), which should not be changed. For this propose i wrote triggers like this:
CREATE TRIGGER rrr FOR zzz ACTIVE BEFORE UPDATE AS
IF (NEW.ID IS DISTINCT FROM OLD.ID) THEN
EXCEPTION ERROR 'ID changing is not allowed for table zzz';
It will be very conveniently if server will be able to make such checking automatically.