Как загрузить внешний файл сценария

Допустим, у меня есть большой сценарий, и я хочу разрезать его на части, а затем загрузить эти части из основного файла сценария.

Вопрос в том, как загрузить и выполнить внешний скрипт с помощью простого SQL в СУБД Oracle или PL/SQL из другого файла скрипта?


person Martin Kotula    schedule 18.02.2010    source источник


Ответы (1)


Для SQL*plus вы можете использовать:

@filename.sql

or

@@filename.sql

Помните, что @ — это команда SQL*plus, а не команда SQL или PL/SQL. ТАК, что вы не можете использовать это внутри хранимой процедуры PL/SQL - это также не имело бы особого смысла, поскольку в этом случае отсутствует важный контекст, такой как текущий рабочий каталог.

Внутри хранимой процедуры вы, в принципе, можете загрузить внешний код с помощью динамического SQL, но лучший способ разбить хранимую процедуру — разбить ее на несколько более мелких хранимых процедур. Если хотите, вы можете сгруппировать их вместе в пакет (см. noreferrer">http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/packages.htm#CIHIJECJ)

person Roland Bouman    schedule 18.02.2010
comment
Последнее сработало для меня, спасибо! Я должен подготовить демонстрацию, в которой я создаю схему, заполняю таблицы данными и создаю пакет. Все это должно выполняться из одного файла - это основная причина, по которой я хотел все нарезать. - person Martin Kotula; 19.02.2010