我有一些pl/sql代码,它调用一些罐装oracle 12c程序以执行分区维护 - 这些程序在目录中生成一系列sql文件 - 每个文件只是一系列alter table drop分区声明。目标是然后执行那些生成的sql脚本。生成的sql文件全都命名不同,但都有一个共同的命名模式:SOA_SYS * .sql如何在调用脚本中通过正则表达式执行sql脚本?
从我研究的内容来看,尝试从实际的plsql代码中调用这些sql脚本似乎并不可行或不可取。如果是这样,似乎我有3个选项:
从sqlplus脚本中调用sql脚本。是否可以用sqlplus脚本语言来做到这一点,并使用正则表达式来获取所有文件的引用,然后迭代它们并使用@ file.sql执行每个文件?或者是sqlplus在这方面太有限了?
创建一个dbms_scheduler作业,该作业运行sql文件并计划在保证生成文件时进行调度。是否可以在dbms_scheduler作业中动态调用多个sql脚本?
在服务器上创建一个cron作业,该作业执行一个遍历目录中sql文件的shell脚本,并打开sqlplus连接到每个数据库并通过@ file.sql调用它。
还有其他的选择吗?推荐和最简单的方法来达到预期的目标是什么?谢谢。
是否需要创建脚本 - 是否可以运行您正在动态添加的命令?否则,你能创建一个主脚本来调用其他脚本,而不需要列表或正则表达式吗? –