create or replace trigger newcontract
before insert on contract
declare numcon int;
for each row
begin
select contractcount
into numcon from task
where task.taskid = old.taskid;
if numcon < 3 then
insert into contract values(taskid, workerid, payment);
else
dbms_output.put_line('task is full');
end if;
end;
Дает этот крипт c ошибка
Error(1,5): PLS-00103: Encountered the symbol "FOR" when expecting one of the following: begin function pragma procedure subtype type <an identifier> <a double-quoted delimited-identifier> current cursor delete exists prior
Запись, вставляемая в контракт, не должна вставляться, если количество контрактов для этой задачи равно 2. Поэтому мне нужно проверить значение счет контракта для каждой вставляемой записи. Я использую оператор выбора, чтобы получить значение, но я получаю эту ошибку.