Я работаю в среде Solaris, и я использую базу данных Oracle 10g.
Скелет того, что я пытаюсь сделать;
Напишите ksh-скрипт, чтобы выполнить следующее. Я понятия не имею, как включить мой sql-запрос в сценарий оболочки и выполнить цикл по операторам. Поэтому я дал краткое описание того, что я пытаюсь сделать ниже.
Скопируйте файл для обработки (по одному файлу за раз, из списка 10 файлов в папке).
for i in * do cp $i /home/temp
2 . Создайте таблицу моментальных снимков (n): инициализируйте n = 1
create table test insert account_no, balance from
records_all;
-- создает мою таблицу снимков и вставляет записи в SQL
- Проверка успешности создания таблицы:
select count(*) from snapshot1
-- запрашивать количество записей в таблице -- всегда фиксированное, скажем, 400000
if( select count(*) from snapshot(n) = 400000 )
echo " table creation successful.. proceed to the next step "
else
echo " problem creating table, exiting the script .. "
Если создание таблицы прошло успешно,
echo " select max(value) from results_all " -- вывод максимального значения на консоль
Обработайте мои файлы, используя следующие задания:
./runscript.ksh - READ -i $m
(m - начальное значение 001) ./runscript.ksh - WRITE -i $m
(m - начальное значение 001 - то же, что и READ process_id)
-- увеличить m на 1
Дождитесь журнала успеха
хвост -f лог($m)* | -egrep "^УСПЕХ"
переход к шагу 1: Скопировать файл 2 во временную папку; создать таблицу снимков (n+1)
Выйти, когда все файлы будут скопированы для обработки.
done
-- Конец шага 1
Подсказки, как заставить меня двигаться, будут очень ценны.
Спасибо,
Крис