Проблема с Oracle 10g для записи триггера, который создаст файл CSV с содержимым данных в таблице - PullRequest
0 голосов
/ 29 июня 2009

Как записать триггер, который вызывается после обновления определенного столбца в таблице и создает файл CSV с содержимым той же таблицы?

Я использую Oracle 10g .

Ответы [ 2 ]

0 голосов
/ 29 июня 2009

Это должно сделать это (конечно, сначала изменить, чтобы соответствовать вашей таблице / столбцам):

create or replace trigger create_csv
after update on table_name for each row
declare
  file_handle text_io.file_type;
  cursor c_table_name is
    select foo, bar, baz
      from table_name
  ;
begin
  file_handle := text_io.fopen('path/to/csv/file');
  for table_row in c_table_name loop
    text_io.put_line(
      file_handle,
      replace(table_row.foo, ',', '\,')||','||
      replace(table_row.bar, ',', '\,')||','||
      replace(table_row.baz, ',', '\,')
    );
  end loop;
  text_io.fclose(file_handle);
end;
0 голосов
/ 29 июня 2009
CREATE [OR REPLACE] TRIGGER trigger_name

{BEFORE/AFTER/INSTEAD OF}triggering_event

[WHEN trigger_condition]

[FOR EACH ROW]

trigger_body;

от http://www.exforsys.com/tutorials/oracle-10g/oracle-10g-triggers-and-triggering-events.html

...