2010-02-18 235 views
1

比方说,我已经有了一个很大的脚本,并希望将其切成块,然后从主脚本文件中加载这些块。如何加载外部脚本文件

问题是如何使用Oracle DBMS或PL/SQL中的普通SQL从另一个脚本文件加载和执行外部脚本?

回答

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

+0

后者为我工作,谢谢!我应该准备一个演示,在其中创建一个模式,用数据填充表并创建一个包。所有这一切都应该从一个文件执行 - 这是我想切片的主要原因。 – 2010-02-18 23:54:45