Создать процедуру для автоматизации вставки из другой таблицы по макс. (Дата) - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь создать процедуру для вставки пропущенных строк из другой таблицы по max (date).Затем я запланировал бы запуск задания каждые 5 минут для обновления удаленной таблицы.

Я не могу выполнить процедуру компиляции.Я хотел бы добавить изменение формата даты как часть сессии тоже.Тогда как мне использовать планировщик заданий, чтобы вызывать его для запуска каждые 5 минут.

create or replace procedure update_cars
AS
v_date date;
begin
--execute immediate 'alter session set NLS_DATE_FORMAT='DD-MON-YY HH24:MI:SS'';
select max(inventory_date) from car_equipment into v_date;
return v_date;
insert /*+APPEND*/ into car_equipment    (count_cars,equipment_type,location,inventory_date,count_inventory) 
select   count_cars,equipment_type,location,inventory_date,count_inventory from car_source where inventory_date > v_date;
end;
/

Ошибка (6,47): PL / SQL: ORA-00933: команда SQL неправильно завершена

1 Ответ

0 голосов
/ 19 сентября 2019
  1. SELECT expression INTO variable FROM ... как упомянуто APC.
  2. RETURN, вероятно, неуместно, поскольку APC упомянул
  3. Изменение формата даты?car_equipment.inventory_date вероятно уже дата, так как вы выбираете ее в переменную даты.car_source.inventory_date столбец даты?Если это так, то дата - это дата, дата - : ничего не поделаешь.Если это не дата (плохая идея!), Используйте соответствующий to_char(inventory_date, 'DD/MM/YYYY') в списке выбора.
...