在 SQL 执行期间,实现 COBOL-DB2 中的表级别锁
DB2 中会对表和表空间加锁,以避免因丢失更新、脏读和幻读而导致的问题。
我们需要使用 ACQUIRE 选项在 BIND 包/计划步骤期间定义锁参数。
COBOL-DB2 程序 PROGA 使用 SQL 语句访问表 TA。如果需要在程序中执行特定 SQL 语句时才对表加锁,则需要如下定义 BIND JCL 步骤−
//BIND EXEC PGM=IKJEFT01 //STEPLIB DD DSN=DIS.TEST.LOADLIB,DISP=SHR //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(TB3) BIND PLAN(PLANA) - PKLIST(PACKA) - ACQUIRE(USE) - /*
必须在 BIND PLAN 步骤中将选项 ACQUIRE 与 USE 参数一起使用。这会指示 DB2 在程序中执行使用该表的 SQL 语句时对 DB2 表加锁。
广告