sqlplus中如何调用嵌套脚本

How to call nested script in sqlplus

我有以下脚本层次结构。

Scripts/master.sql
Scripts/GB/gb.sql
Scripts/GB/user1/insert.sql

master.sql 包含调用 gb.sql 的简单@script 例如

@GB/gb.sql

gb.sql 包含以下内容

@user1/insert.sql

问题是,如果我从 Scripts 目录 运行 master.sql,我会得到以下错误:

unable to find insert.sql

而如果我从 GB 目录执行 gb.sql,则 ir 运行 成功。 你能帮帮我吗?

SQL*Plus 目录始终与原始工作目录相关。您的脚本每次都需要从工作目录重复完整路径。

将gb.sql更改为:

@GB/user1/insert.sql

@@ 可用于引用与 运行 文件在同一目录中的文件,但 @@ 不适用于子目录。