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