I have this table
CREATE table Pharmacists (
PhFname varchar2(10),
PhLname varchar2(10),
Salary number(7),
Nationality varchar2(10),
Shift_Start varchar2(2),
Shift_End varchar2(2),
PhID number(7) primary key,
Super_ID number(7) ,
bdate date,
constraint super_fk foreign key (Super_ID) references Pharmacists (PhID) on delete cascade);
I tried to create this trigger
create or replace trigger updShE
after update of Shift_Start on Pharmacists
begin
update Pharmacists
set Shift_End=to_number(:new.Shift_Start, '99') +8
where PhID = :New.PhID ;
end;
but this error appears
new or old reference not allowed in table level trigger
Best Answer
You need a row before level trigger for that.
And you don't need an update, just assign the new value: