Это похоже на классический c отчет. Это? Если да, то это результат оператора select
. Поскольку он вычисляет все интересующие вас значения, вы должны использовать его в операторе insert
. Например, вы можете создать кнопку и создать процесс, который запускается при нажатии этой кнопки. Тогда это будет
insert into target_table (emp_id, salary, house_rent, ...)
select emp_id, ... whatever you select in report's query
from ...
Однако: данные меняются. Что вы будете делать, когда что-то , которое используется для вычисления этих значений, будет изменено? Вы удалите эти строки и вставите новые? Обновить существующие значения? Добавить еще одну строку?
Если вы хотите обновить существующие значения, рассмотрите возможность использования merge
, поскольку он может вставлять строки (в предложении when not matched
в вашем случае), как а также обновление строк (в when matched
). Это будет выглядеть так:
merge into target_table t
using (select emp_id, ... whatever you select in report's query
from ...
) x
on (t.emp_id = x.emp_id)
when matched then update set
t.salary = x.salary,
t.house_rent = x.house_rent,
...
when not matched then insert (emp_id, salary, house_rent, ...)
values (x.emp_id, x.salary, x.house_rent, ...);