UPDATE . . . FROM Semantics Change
In Ingres 6.4/05 and earlier, the “ambiguous replace” test allowed an update using the UPDATE…FROM statement if each target row was being updated with an unambiguous value. Ingres 6.4/06 and higher releases test for multiple FROM rows and generate an ambiguous replace error message even if all the FROM rows generate the same replacement value.
For example, Ingres 6.4/05 and earlier allowed the following update:
UPDATE table_1
FROM table_2
SET column_3 = 3;
even though there is no WHERE qualification joining the tables, since the replacement value was non-ambiguous. In later releases, an “ambiguous replace” error message displays.
The recommended approach for this semantics change is to review all applications for ambiguous updates and change them to use EXISTS or IN, instead of a join. If this is not feasible, the original UPDATE . . . FROM handling can be restored by setting the DBMS parameter “ambig_replace_64compat” to ON in Configuration-By-Forms.