Запускайте разные сценарии pl/sql из одного файла

#sql #oracle #plsql #toad

Вопрос:

У меня есть несколько сценариев PL/SQL, которые изо дня в день преобразуют данные в соответствии со спецификацией. Я хотел бы запустить их в цикле для каждого дня в году. Можно ли с этим как-то справиться в Жабе?

Я обнаружил , что могу запускать некоторые другие сценарии, вызывая их через @name_of_script, но это не работает для меня в Toad.

Мне просто нужно что-то вроде:

 BEGIN
FOR i IN day1 TO dayx
  EXECUTE SQL1;
  EXECUTE SQL2;
  EXECUTE SQL3;
END LOOP;
END
 

Есть ли какой-либо способ каким-либо образом «управлять» этими сценариями, кроме как изменить их на процедуры? Спасибо вам за ответ.

Комментарии:

1. Почему Жаба ? Разве вы не можете просто использовать sqlplus с FOR /L %I (1,1,365) DO (sqlplus @script_1; sqlplus @script_2; sqlplus @script_3; ) помощью ?

2. @Zilog80, которого может не хватать in ? Но отличная идея, я буду использовать это 🙂

3. @WilliamRobertson Да, спасибо. Я скучал по этому… Я должен сделать некоторый jscript для предварительной проверки, чтобы заранее проверить свой синтаксис ^^. Исправленный синтаксис, включающий базовое распараллеливание и день в качестве amp;1 параметра для sql-скрипта : FOR /L %I IN (1,1,365) DO (sqlplus @script_1 %I amp;; sqlplus @script_2 %I amp;; sqlplus @script_3 %I amp;; ) .

Ответ №1:

@ является командой SQLPlus

Но жаба частично поддерживает и это: есть 2 общих варианта:

  1. Используйте редактор SQL — он должен выполнять сценарии в случае @ команды, как в SQL*Plus
  2. Используйте «Выполнить как сценарий» —> «Выполнить через SQL plus»: он должен запустить SQL*plus, подключенный к вашей базе данных, там вы можете запускать свои сценарии.

Комментарии:

1. Пожалуйста, если я добавлю туда больше вызовов @script.sql, они будут выполняться последовательно или параллельно?

2. пожалуйста, вы можете помочь? Потому что я не уверен (из-за соответствующего порядка сообщений об ошибках), что SQL Plus запускает все сценарии «параллельно» или «последовательно», если они выполняются в одном цикле.