15.5.3.Determining Actions
If only the <after>
block is specified, the
rows specified in the <after>
block are inserted in
the table(s). If both the <before>
and <after>
blocks are specified,
then rows specified in the <after>
block for which there
are no corresponding rows in the <before>
block are inserted in
the table(s).
In an update operation, the rows specified in the <before>
block refer to
existing rows in the database. The corresponding rows in the
<after>
block reflect
what the user wants in the database. A row update operation is
performed if there is a row in both the <before>
and <after>
sections with the same
set of values for the attributes that uniquely identify a row in a
table. Rows specified in the <before>
block must be valid in
the database for the updategram to successfully update the
rows.
In a delete operation, if only the <before>
block is specified in
the update gram, the rows specified in the <before>
block are deleted from
the table(s). If both the <before>
and <after>
blocks are specified,
the rows for which there are no corresponding rows in the
<after>
block are
deleted from the table(s).