я пытаюсь получить работу (ORACLE SHEDULER) в оракуле каждую неделю.
Смысл в том, чтобы каждую неделю просматривать таблицу Historico и проверять каждую ID_Academista, связанную сТаблица «Академиста».После этого он должен сравнить «Valor_Atual», чтобы увидеть, если его> 20 (это происходит из таблицы 'Tecnologia')
Если это так, он уменьшается на 1, если нет, то остается прежним.
Чтобы выразить это лучше на английском: «Tecnologia» - это технология, каждая технология имеет индивидуальную оценку (Valor_Atual), которая будет в «Academista» (студент)
Таблица Historico База данных
Вот код:
CREATE OR REPLACE PROCEDURE notas
IS
contar INTEGER := 0;
contar2 INTEGER;
BEGIN
SELECT COUNT(*) INTO contar2 FROM Academista;
WHILE contar <= contar2
LOOP
SELECT h.Valor_Atual, h.Valor_Antigo, h.Id_academista FROM HISTORICO h
WHERE h.Id_academista = contar ;
IF
h.Valor_Atual > 20
THEN
UPDATE HISTORICO
SET Valor_Atual = Valor_Atual + 1
WHERE h.Id_academista = contar;
ELSE
UPDATE HISTORICO
SET Valor_Atual = Valor_Atual - 1
WHERE h.Id_academista = contar ;
SET contar := contar + 1;
END IF;
END LOOP;
END;
Ошибки