ansi_update_constraints option [compatibility]

Controls the range of updates that are permitted.

Allowed values

Off, Cursors, Strict

Default

Cursors

Remarks

SQL Anywhere provides several extensions that allow updates that are not permitted by the ANSI SQL standard. These extensions provide powerful, efficient mechanisms for performing updates. However, in some cases, they cause behavior that is not intuitive. This behavior can produce anomalies such as lost updates if the user application is not designed to expect the behavior of these extensions.

The ansi_update_constraints option controls whether updates are restricted to those permitted by the SQL/2003 standard.

If the option is set to Strict, the following updates are prevented:

  • Updates of cursors containing JOINS
  • Updates of columns that appear in an ORDER BY clause
  • The FROM clause is not allowed in UPDATE statements

If the option is set to Cursors, these same restrictions are in place, but only for cursors. If a cursor is not opened with FOR UPDATE or FOR READ ONLY, the database server chooses updatability based on the SQL/2003 standard. If the ansi_update_constraints option is set to Cursors or Strict, cursors containing an ORDER BY clause default to FOR READ ONLY; otherwise, they continue to default to FOR UPDATE.

See also