我有一个充满PLSQL脚本的目录,我想运行,问题是该目录的内容是动态的,我无法知道这些脚本的名称是什么。
我必须编写一些东西来运行该目录中的所有sql文件,但是我无法在PLSQL中找到一种方法来调用脚本,该文件名在运行时是未知的。
我尝试过将.sql文件内容加载到VARCHAR2然后执行
之类的操作EXECUTE IMMEDIATE l_Script_Content;
但由于某种原因,这只是不起作用,我想必须有一种更简单的方法,比如突然@命令接受varchar2而不是完整路径。
有人能指出我正确的方向吗?也许从java运行脚本?
谢谢!
答案 0 :(得分:11)
PL / SQL不适合这项工作。最简单的方法是使用某种shell脚本(例如BASH)来构建一个SQL文件并运行它。 像这样:
bash> EXPORT IFS="
"
bash> for FILE in `ls -1 *.pls``; # single backtick here -_-
do echo "start "$FILE >> run.sql;
done;
sqlplus> start run.sql
答案 1 :(得分:0)
将此安装脚本保存在同一文件夹中,例如 - " current_folder_location /"所有plsql文件都以.sql格式退出 你可以在unnixbox,sqlplus,sql Developer中触发它:
find()