Oracle Trigger Spool Csv - Создать CSV-файл из избранных в Oracle - PullRequest
0 голосов
/ 04 декабря 2018

есть ли способ сделать триггер после обновления, который делает CSV-файл из оракула

я получил sql, что делает меня Resault, что мне нужно

    select 
(lower(substr(cp.fname,1,1) || translate(convert(cp.lname, 'AL32UTF8', 'UTF8'),'ón','on'))
 || ',' || 
 cpel.internal_display_name 
 || ',' || 
 cpel.org_name 
 || ',' || 
 cpel.pos_title) 
 as "login,name,dep,tit" 
 from company_pers_emp_lov cpel, company_pers cp
where cp.emp_no = cpel.emp_no and cp.emp_no like 'P%' 
ORDER BY cpel.emp_no DESC
FETCH FIRST 1 ROW ONLY

Result SQLis

логин, имя, dep, tit xyyyyy, xxxxx yyyyy, отдел, титул

1 Ответ

0 голосов
/ 04 декабря 2018

Я бы обычно использовал Универсальное решение Тима Холла с пользовательским пакетом CSV , в котором есть процедура generate, который принимает любой каталог, имя файла и запрос в качестве аргумента и выгружает результат запроса в CSV-файл, используя UTL_FILE.

CREATE OR REPLACE DIRECTORY EXTRACT_DIR  AS '/tmp/extracts';   --some path
GRANT READ, WRITE ON DIRECTORY EXTRACT_DIR TO <trigger_owner>; --or who executes.

Затем вы можете поместить это в свою процедуру / триггер или как угодноэто нужно вывести в файл CSV.

csv.generate('EXTRACT_DIR', 'emp.csv', p_query => 'SELECT * FROM employees');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...