The end result of this may
be data that ends up being changed in a way that Oracle thinks is logically illegal.
These situations can cause Oracle to return runtime errors referring to mutating
tables, which are tables modified by other triggers, or constraining tables, which are
tables modified by other constraints. Oracle8i eliminated some of the errors caused
by activating constraints with triggers.
Oracle8i also introduced a very useful set of system event triggers (sometimes called
database-level event triggers), and user event triggers (sometimes called schema-level
event triggers). For example, youcan place a trigger on system events such as database
startup and shutdown and on user events such as logging on and logging off.
Query Optimization
All of the data structures discussed so far in this chapter are server entities. Users
request data from an Oracle server through database queries. Oracle??™s query optimizer
must then determine the best way to access the data requested by each query.
Query Optimization | 109
One of the great virtues of a relational database is its ability to access data without
predefining the access paths to the data.
Pages:
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255