Как перебрать различные схемы и выполнить несколько sql на каждой? - PullRequest
3 голосов
/ 14 марта 2011

У меня есть случай, когда у меня есть 70 схем оракула, и я должен выполнить один и тот же сценарий на каждом

, что было бы наилучшим способом достижения этого.

Возможно ли это сCURSOR?

Пока я делаю это с

ALTER SESSION SET current_schema = SCHEMA_1;
====
ALTER SESSION SET current_schema = SCHEMA_2;
====
ALTER SESSION SET current_schema = SCHEMA_3;
====

И я заменяю "====" своим сценарием, я делаю это с помощью Notepad ++, но я долженподготовить сценарий вручную, и если сценарий будет длинным, мне придется разбить его на несколько частей без новых строк и выполнить замену для каждого фрагмента

Я бы хотел еще немного автоматизировать этот процесс.

1 Ответ

4 голосов
/ 14 марта 2011

Я предлагаю следующий полуавтоматический способ, который не автоматизирует вашу задачу, но сокращает поиск и замену.

Если вы используете SQL * Plus, вы можете выполнить файл со следующимсинтаксис:

@myscriptfile.sql

Если вы захотите сделать это один раз для каждой схемы, вы можете сгенерировать код, запросив словарь:

select 'ALTER SESSION SET current_schema = ' || owner || ';
       @myscriptfile.sql'
  from dba_users
 where <your filter>;

Затем вы просто скопируете / вставитерезультат этого запроса в sqlplus.Возможно, можно спулингировать это в файл и выполнить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...