lock_statement 
<
lock_statement> ::=
LOCK [(WAIT) | (NOWAIT)] <lock_spec> IN SHARE MODE
| LOCK [(WAIT) | (NOWAIT)] <lock_spec> IN EXCLUSIVE MODE
| LOCK [(WAIT) | (NOWAIT)] <row_spec>... OPTIMISTIC
| LOCK [(WAIT) | (NOWAIT)] <lock_spec> IN SHARE MODE <lock_spec> IN EXCLUSIVE MODE