Comparing Statement Level and Row Level Integrity [ ALLBASE/SQL COBOL Application Programming Guide ] MPE/iX 5.0 Documentation
ALLBASE/SQL COBOL Application Programming Guide
Comparing Statement Level and Row Level Integrity
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.
MPE/iX 5.0 Documentation