2010-02-18 182 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