create or replace trigger trg_t3 after
insert OR update or delete of salary on t2
for each row
begin
if
to_char(systimestamp,'hh24') not between 9 and 17
then
insert into t3 values (:new.salary, :old.salary, sysdate);
else
DBMS_OUTPUT.put_line ('update is not possible between 9:00 and 17:00');
end if;
end;
/
это будет включать старую зарплату, новую зарплату и время в таблице t3
в зависимости от условий, указанных в триггере в таблице t2
. Но мне нужно имя сотрудника, чья зарплата обновлена или удалена.
если я обновляю зарплату на t2
, мне нужно указать имя конкретного сотрудника, зарплату которого я изменил, в t3
. Но текущий метод будет включать только старую зарплату, новую зарплату и время
вот код для создания таблиц
create table t2 ( name varchar(20), salary varchar2(20));
create table t3 (salary_new varchar2(50), salary_old varchar2(20), log_date date);
insert all
into t2 values('hari',2000)
into t2 values('sam',40000)
into t2 values('ravi',60000)
into t2 values('manoj',8000)
into t2 values('pratheep',10000)
into t2 values('john',3000)
into t2 values('joe',50000)
into t2 values('scott',70000)
select * from dual;