Я пытаюсь написать сценарий оболочки, который будет использовать запрос SELECT и помещать записи в файл отчета в формате csv. Этот сценарий будет запланирован через cron и в зависимости от даты будет генерировать отчет ежедневно, еженедельно и раз в полгода.
Мы используем базу данных Oracle sqlplus. Прости меня, так как я немного мокрый за ушами.
Мой план состоит в том, чтобы присвоить переменным предложение WHERE в SELECT. Один из них является sysdate, а другой - целью (количество дней назад) и использует эти переменные даты для установки диапазона дат в самом запросе SELECT.
Прямо сейчас,
У меня есть SELECT в сценарии sql, который помещает результаты в файл csv для ежедневных задач (-1). Однако проблема в том, что я должен составлять отчеты по всем трем отчетам в одном сценарии, поэтому я не думаю, что этот маршрут будет работать. Мой первоначальный план состоял в том, чтобы просто вызвать и выполнить этот сценарий sql для создания файла csv, а затем переместить этот файл в правильный каталог (так как существует 3 каталога ежедневно / еженедельно / раз в полгода), выполнив команду
Сравнение даты if / fi в скрипте.
sqlScript.sql
ВЫБРАТЬ
...
ОТ
...
ГДЕ
...
И trunc (statusTimeStamp)> = trunc (sysdate-1); <--- Это ежедневный отчет </p>
script.sh
! / Bin / Баш
...
sqlplus запускает sqlScript.sql
...
пиши в логи
Это сводная информация о том, как у меня настроен сценарий sh и файл sql.