创建控制文件时的语法错误

Syntax error in creation of control file

我已经在 shell 脚本中编写了创建动态控制文件的代码。当我对字段 thread_val 使用 MOD 函数时,出现语法错误。

   echo 'LOAD DATA' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'APPEND' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'INTO TABLE TJX_MARKDOWN_AUTHORIZATION' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'FIELDS TERMINATED BY ","' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'TRAILING NULLCOLS' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo '(' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'FILE_SEQ_NO              "' ${exec_seq} '",' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'TRANSACTION_TYPE         position(1),' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'WEEK                     ,' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'FISCAL_CC_YY             date' \'YYYYMMDD\' ',' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'STORE                    ,' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'DEPT                     ,' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'FROM_PRICE               ,' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'TO_PRICE                 ,' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'ITEM                     ,' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'ESTIMATED_QTY            ,' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'STATUS                   CONSTANT "U",' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo 'THREAD_VAL   "(MOD(:STORE, '${max_thread_val)' + 1)"' >> $CTL_DIR/tjx_markdown_auth_upld.ctl
   echo ')' >> $CTL_DIR/tjx_markdown_auth_upld.ctl

在max_thread_val之后插入},改变)的位置如下;

   echo 'THREAD_VAL   "(MOD(:STORE, '${max_thread_val}') + 1)"' >> $CTL_DIR/tjx_markdown_auth_upld.ctl