У меня есть таблица
CREATE TABLE borrow_document1 (
id_borrow INT,
id_client INT,
id_document INT,
isReturned number(1),
CONSTRAINT PK_document PRIMARY KEY ( id_borrow));
Я хочу запретить заимствование того же документа, если он не возвращается (если isReturned
равно 0). Я пытаюсь создать trigger
для этой работы, но я не знаю, как получить доступ к существующим значениям в таблице. вот что я сделал:
create or replace trigger check_borrow
BEFORE INSERT on borrow_document1
for each row when(new.id_document = id_document)
BEGIN
IF ISRETURNED = 0 THEN
raise_application_error(-20111,'document is borrowed');
end if;
END;
Я знаю, что это неправильно, но я просто пытаюсь показать вам, что мне нужно сделать. Проблема в том, что компиляция этого триггера возвращает ошибку, поскольку id_document
и isreturned
не объявлены. У меня также может быть много документов с одинаковым идентификатором в моей таблице, но самое большее один из них заимствован, потому что мне нужно следить за заимствованными документами. любая помощь будет высоко ценится.