sql - SQL 命令在交互模式下工作,但在 Oracle 数据库中的 bash 脚本中不工作
问题描述
在 sqlplus 中工作的命令
INSERT INTO DATA_SM_METRIC(UNIQUE_ID,METRIC_REVIEW_CRITERION_DESC,METRICS_REVIEW_CRITERION_VALUE,ENTITY_TYPE,REVIEWCRITERIATYPE,CREATETIME)
SELECT UNIQUE_ID,METRIC_REVIEW_CRITERION_DESC,METRICS_REVIEW_CRITERION_VALUE,ENTITY_TYPE,REVIEWCRITERIATYPE,CREATETIME FROM DATA_SM_METRIC_STG;
当插入到 shell 脚本中时,它只是暂停并且上面永远不会被执行。...stg 表被填充,所有记录都被转移到另一个表中。为什么它没有从临时表填充到另一个表中?
脚本:
DATAFILE=$1
SQLPATH=/u01/app/oracle/product/12.2/db_1/bin
SQLPLUS=$SQLPATH/sqlplus
SQLLOADER=$SQLPATH/sqlldr
echo "Start loading file into staging table ->sqlldr $DATAFILE"
$SQLLOADER userid=system/oracle@127.0.0.1:1521/orcl12c
control=./$DATAFILE.ctl data=./$DATAFILE log=./$DATAFILE.log
bad=./$DATAFILE.bad skip=1 errors=100
echo $?
echo "start inserting records......"
rec=`$SQLPLUS -S system/oracle@127.0.0.1:1521/orcl12c <<EOF | sed 1,3d
INSERT INTO CIBC_DATA_SM_METRIC(UNIQUE_ID,METRIC_REVIEW_CRITERION_DESC,METRICS_REVIEW_CRITERION_VALUE,ENTITY_TYPE,REVIEWCRITERIATYPE,CREATETIME)
SELECT UNIQUE_ID,METRIC_REVIEW_CRITERION_DESC,METRICS_REVIEW_CRITERION_VALUE,ENTITY_TYPE,REVIEWCRITERIATYPE,CREATETIME FROM CIBC_DATA_SM_METRIC_STG;
exit
EOF`
解决方案
推荐阅读
- javascript - (JavaScript) 获取数组中交替值的总和并从中获取最大值
- javascript - 为什么 JS 编译器不能识别对 Array.prototype.filter 的调用
- c++ - 具有可变非类型参数的模板特化
- javascript - 在 HTML 画布中单独旋转平铺图像
- powerbi - 将 Azure 时序见解数据导入 Power BI
- regex - 正则表达式捕获开始词之间的所有内容,直到结束特定的结束词
- node.js - 如何使用nodejs向android chrome浏览器发送通知?
- java - java中如何初始化第一个空字符串?
- vba - VBA中的段落类型
- reactjs - React Axios useEffect hook,渲染到用户界面时出现不同类型的错误