【发布时间】:2019-08-07 06:22:59
【问题描述】:
我目前正在尝试实现一个在一天结束时运行的 bash 脚本,该脚本运行一个简单的 oracle 查询。该命令在 Oracle 中运行良好,但在 .sql 文件中时它无法运行。
我尝试将所有代码放在一行中并添加分号。
批处理文件的内容(用户/密码已更改):
sqlplus username/password@database @set_changed.sql
set_changed.sql 文件内容:
UPDATE ris_web a
SET a.changed = 0
where exists
(
select modified_date from invn_sbs b
where b.item_sid = a.item_sid
and b.modified_date <= sysdate-1
);
COMMIT;
END;
【问题讨论】:
-
你在使用EXIT的时候是否得到同样的错误信息;而不是 END; ?
-
您的批处理文件中管道
|的用途是什么?您将exit命令的输出传递给sqlplus的输入,所以什么也没有。这真的是你想要的吗? -
@nebulopathy 将
END;替换为EXIT;后,我只是看到光标在显示“已连接到:Oracle Database 12c 标准版版本 12.1.0.2.0 - 64 位生产”后闪烁 -
@aschipfl 这并不重要。我把它拿出来了。这只是我正在试验的东西。
标签: oracle batch-file sqlplus