在Linux脚本中,我有以下脚本段。
sqlplus /
<<QUERY_1
UPDATE BATCH_FILE SET BATCH_ID = 0 WHERE BATCH_ID = -1;
COMMIT;
exit
QUERY_1
我希望更新能够发生,脚本能够退出sqlplus。
实际发生的情况是,查询没有执行,脚本退出后,让sqlplus登录到我的数据库,并出现SQL>提示。 我可以从提示符中执行语句,但当然,这不是我想要做的。
我当前的Oracle版本是12.2.0.1。
HERE-文档的输出是为了sqlplus的std输入,但是对于shell来说 一言堂. 添加反斜杠会使shell忽略行尾,将两行物理行合并为一行逻辑行。
sqlplus / \
<<QUERY_1
UPDATE BATCH_FILE SET BATCH_ID = 0 WHERE BATCH_ID = -1;
COMMIT;
exit
QUERY_1
或者干脆:
sqlplus / <<QUERY_1
UPDATE BATCH_FILE SET BATCH_ID = 0 WHERE BATCH_ID = -1;
COMMIT;
exit
QUERY_1