The following list describes the automatic table and database locks used in transaction processing.

Transaction Processing Locks

·SELECT table lock  
 
Commands
BROWSE
COMPUTE
CROSSTAB
PRINT
QBE
SELECT
TALLY

 

These commands only need to view data from a table. A SELECT lock excludes all other locks except other SELECT locks.  
 
 
·INSERT table lock  
 
Commands
ENTER
ENTER USING
INSERT
LOAD
OPEN CURSOR

 
 
These commands may add a row to a table. An INSERT lock excludes all other locks.  
 
 
·UPDATE table lock  
 
Commands
DELETE
EDIT
EDIT USING
UPDATE
 
 
These commands update information in a table. An UPDATE lock excludes all other locks.  


·Full database lock  

Commands
AUTONUM
BACKUP
CREATE INDEX
CREATE TABLE
CREATE VIEW
DROP INDEX
DROP TABLE
DROP VIEW
GRANT
INTERSECT
JOIN
PROJECT
RENAME COLUMN
RENAME TABLE
RENAME TABLE
RENAME VIEW
RESTORE
REVOKE
RULES
SUBTRACT
UNION
UNLOAD
 

A full database lock excludes locks on all tables and the database and disables the LIST command until the transaction is finished. If a command cannot lock all the tables in a database, you receive a message.  


The commands are listed under the lock they obtain most frequently. The current use of each command, however, determines which lock it obtains. These commands can only upgrade their locks within a transaction.


Transaction Processing Topics
Using Transaction Processing  
Locking Table Access and Resource Waiting  
Row Locks and Transaction Processing  
Setting Exclusive Table Locks  
Displaying Transaction Processing Locks  
Resource Waiting in Transaction Processing  
Recovering from Transaction Processing Errors