У меня проблема с триггерами, и я не могу найти почему.
Это таблицы:
create table Properties(
idProperties number(10) NOT NULL ,
Type varchar2(45) NOT NULL,
ConstructionDate date NOT NULL,
FloorLocation varchar(20),
Balkony varchar2(10),
Price number(10) NOT NULL,
DateOfInsert date NOT NULL,
DateOfExiration date NOT NULL,
Address_FK number(20),
PropertyType_FK number(20) NOT NULL,
Service_FK number(20),
Ownership_FK number(20),
PropertyService_FK number(20))
create table Services(
idServices number(10) NOT NULL,
servicetype varchar2(20))
Я пытаюсь написать триггер, который будет выполнен при обновлении PROPERTY
, когда поле состояния будет изменено с «НОВОГО» на «УТВЕРЖДЕНО», затем обновить дату истечения с сегодняшней датой Sysdate + 90 days
.
Я пытаюсь это, но это не работает:
CREATE OR REPLACE TRIGGER T22
AFTER UPDATE ON Properties
FOR EACH ROW
Begin
if :new.servicetype = 'APROVED' then
:new.Servicetype := SYSDATE + 90;
end if;
End;
Нужно ли вызывать servicetype
с внешним ключом из таблицы свойств? Или это правильно, но я что-то упустил?