假设我有一个大脚本并希望将其剪切成碎片然后从主脚本文件加载碎片。
问题是如何使用Oracle DBMS中的纯SQL或来自其他脚本文件的PL / SQL加载和执行外部脚本?
答案 0 :(得分:3)
对于SQL * plus,您可以使用:
@filename.sql
或
@@filename.sql
请注意@是一个SQL * plus命令 - 而不是SQL或PL / SQL命令。所以你不能在PL / SQL存储过程中使用它 - 它也没有多大意义,因为在这种情况下缺少像当前工作目录这样的基本上下文。
存储过程中的表单,原则上可以使用动态sql加载外部代码,但是分解存储过程的更好方法是将其分解为几个较小的存储过程。如果您愿意,可以将这些包括在一个包中(参见http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/packages.htm#CIHIJECJ)