In ALLBASE/SQL release E.1, enforcement of defined constraints is performed at statement level rather than at the row level of previous releases.
This is called statement level integrity.
Even though
a constraint may be violated on a particular row, the check for that
constraint is not made until the statement has completed processing. At that time, if there
are one or more constraint errors, an error message is issued and the entire
statement is rolled back with no rows being processed. You do not need to detect constraint errors yourself and code your program to respond to partially processed tables.
When a statement is rolled back, the appropriate sqlerrd field will be 0, reflecting that no rows were processed. If a constraint error is the cause of the
rollback, this field will not be greated than zero indicating a partially processed table. Thus, applications written for ALLBASE/SQL may need to check for a
different value in the sqlerrd field.
For information on status checking, see the chapter, "Runtime Status
Checking and the sqlca."
For information on deferring constraint error checking to the transaction level
and other error checking enhancements related to releases after E.1, see the
ALLBASE/SQL Release F.0 Application Programming Bulletin for MPE/iX.