Если я читаю это право, у вас есть таблица, в которой будет храниться строка с датой в ней и таблицей, которую вы хотите заполнить, на основе данных, введенных в таблицу дат.
Если таблица даты вставляется в API, просто вызовите ее после нее. Если вы не можете этого сделать, вы можете использовать триггер для этого.
например
create table temp_date(
the_date date
);
create trigger temp_date_ai
after insert on temp_date
declare
begin
myproc;
end;
/
так каждый раз, когда вы вставляете строки в этой таблице temp_date
, ваша процедура будет получить вызывается. если вам нужна процедура асинхронно уволят, вы всегда можете использовать dbms_job
для этого:
create trigger temp_date_ai
after insert on temp_date
declare
v_job number;
begin
dbms_job.submit(v_job, 'myproc;');
end;
/
так, когда абонент совершил вставку в таблицу даты, ваша работа будет стрелять вскоре после этого (до тех пор, как ваш АБД настройте как минимум 1 job_queue_process
для обработки заданий.
Привет, DazzaL, Как вы сказали, можно использовать триггер для вставки в таблицу даты и заполнения таблицы temp с помощью proc или путем задания задания. Это решение идеально подходит, когда объем данных для заполнения в таблице temp мало ... но при вставке в таблицу даты мне нужно заполнить временную таблицу огромным количеством данных (приблизительно 10k + строк), включающих сложные запросы (функции). И если я вызываю триггер из Web Сфера применения, она будет замедляться, как и все. Если мы запустим эту веб-страницу запроса на создание отчета (без временной таблицы), сервер Production снизится ... С уважением Mohanish –
Когда происходит генерация отчетов, нам нужно передать динамические параметры даты для запроса. Поэтому я пытался предоставить экран для сохранения даты в одной временной таблице и при заполнении таблицы temp, мне нужно вызвать процедуру, чтобы заполнить другую временную таблицу, которая будет использоваться для создания отчетов (отчеты jasper). Так что вам нужно что-то опросить для заполнения столбца даты, чтобы я мог сразу вызвать proc, чтобы заполнить таблицу temp отчета –
@MohanishTimble, чтобы вы могли отправить задание как часть процесса GUI, загружающего таблицу. т.е. то же, что и в примере триггера, но просто назовите это dbms_job.submit как часть клиентской процедуры, которая заполняет таблицу temp. это затем активирует работу асинхронно, поэтому не замедлит время ответа на парня, который нажимает «submit». – DazzaL