The type of lock that
a server sets on a member or an observation is affected by how the
operation accesses and uses the SAS data object type. Here are the
ways to access a data object:
to change the values
of variables.
to add new variables
with values.
to change the header
information of the file.
Each SAS operation has
a default action for each object that is accessed and the way that
the object is accessed. For example, given that the server engine
allows an observation to be locked and the observation is not already
locked, the server can open and lock an observation in a data set.
If the server engine does not allow an observation to be locked, the
engine locks the member (above the observation).
The lowest hierarchical
level at which data can be locked varies according to the engine that
is used to access the data.
-
V8 and V9 (the default) engines
allow locking at the library, member, and observation level.
-
The V8TAPE engine, V9TAPE engine,
and other sequential engines allow locking only at and above the member
level.
-
If an engine does not allow access
to SAS catalogs, that engine does not allow locking at any level.
-
The view engine default-locking
action is based on how the view is created, that is by using a DATA
step, PROC SQL, or PROC ACCESS (available in
SAS/ACCESS). The specific
SAS/ACCESS engine that is used
is based on the DBMS. See the
SAS/ACCESS documentation for information about view engine default-locking
action.
The following table
shows the combinations of objects that are locked, how objects are
locked, and the effects on other client operations.
Effects of Object Locking on Other Client Operations
Which Data Object
Is Locked
|
Mode in Which Data Object
Is Locked
|
|
|
|
|
|
Other operations can
read the data set but cannot open it for update or output.
|
No other operations
can access the data set.
|
No other operations
can access the data set.
|
|
Other operations can
read or update the data set but cannot open it for output.
|
Other operations can
read or update the data set but cannot open it for output.
|
No other operations
can access the data set.
|