我编写了一个代码来在shell脚本中创建动态控制文件。当我使用MOD
函数用于字段thread_val
时,我收到语法错误。
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
答案 0 :(得分:0)
在max_thread_val之后插入}
,更改)
位置,如下所示;
echo 'THREAD_VAL "(MOD(:STORE, '${max_thread_val}') + 1)"' >> $CTL_DIR/tjx_markdown_auth_upld.ctl