Планирование отчетов Oracle и экспорт в XML

#sql #xml #oracle

#sql #xml #Oracle

Вопрос:

У меня есть отчет, который мне нужно запускать каждый день в 00:00 и экспортировать всю информацию из таблицы в определенное место с определенным именем.

Пример:

     select * from my_table 
where date between  SYSTIMESTAMP -2  and SYSTIMESTAMP -1 
  

и экспортировать это в файл date.xml .

Возможно ли это с помощью Oracle SQL Developer или мне нужны другие инструменты?

Ответ №1:

Нет версии Oracle, поэтому я предполагаю, что 10 или 11.

Чтобы запланировать свой процесс, вам просто нужно создать задание и запланировать его. Задание должно запустить ваш скрипт (который может быть функцией или хранимой процедурой). Вот документация: http://docs.oracle.com/cd/B28359_01/server.111/b28310/scheduse.htm#i1033533

Для записи в файл вы можете использовать команду spool в SQL. Здесь вы можете найти документацию: http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12043.htm

Это действительно просто в использовании.

 spool @path/nomefile
la tua query
spool off
  

Очевидно, что компьютер, с которого вы запускаете скрипт, должен иметь права на запись на компьютере, на котором вы собираетесь записать файл (я говорю это, потому что я часто забываю проверить).

Создание XML-файла немного сложнее и требует немного времени для объяснения здесь, но в сообществе Oracle есть хороший пост, который объясняет это и приводит простой и практичный пример: https://community.oracle.com/thread/714758?start=0amp;tstart=0

Если вы не хотите использовать задание в Oracle, вы можете написать SQL-файл с командами подключения, командой спула и вашим запросом и запланировать его на серверной машине, на которой вы собираетесь установить в качестве простой команды sqlplus.