创建控制文件时的语法错误
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
我已经在 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