- 
                Notifications
    You must be signed in to change notification settings 
- Fork 435
Non‐standard clauses
        Rene Saarsoo edited this page Nov 13, 2023 
        ·
        3 revisions
      
    Non-standard additional select clauses in various dialects.
DB2:
FOR UPDATE [OF column_name [, ...]]
FOR {READ | FETCH} ONLY
OPTIMIZE FOR integer {ROW | ROWS}
FOR {RR [lock_clause] | RS [lock_clause] | CS | UR}
lock_clause:
    USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS
{ WAIT FOR OUTCOME | SKIP LOCKED DATA }
DB2i:
FOR UPDATE [OF column_name [, ...]]
FOR READ ONLY
OPTIMIZE FOR {integer | ALL} {ROW | ROWS}
FOR {NC | UR | CS [KEEP LOCKS] | RS [lock_clause] | RR [lock_clause]}
lock_clause:
    USE AND KEEP EXCLUSIVE LOCKS
{ WAIT FOR OUTCOME | SKIP LOCKED DATA | USE CURRENTLY COMMITTED }
FOR UPDATE
  [OF identifier {"," ... }]
  [NOWAIT | WAIT integer | SKIP LOCKED]
FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE}
  [OF table_name [, ...]] [NOWAIT | SKIP LOCKED] [...]
TODO: Check all other dialects.