图书馆管理系统里的一个小问题
--计算某读者已借几本书
Create or replace function f_borrowed_num(v_readerid number)
return number
as
V_num number;
Begin
Select count(*) into v_num from reader,borrow where reader.readerid=v_readerid and reader.readerid=borrow.readerid;
Return v_num;
End;
--利用自定义函数写一个只要在borrow表上有变动时就进行更新rest_borrow_num的触发器
create or replace trigger tr_update_borrow
after update or delete or insert on borrow
for each row
declare
v_rule rule%rowtype;
cursor cur_rule is (select readerid from reader);
begin
select * into v_rule from rule ;
for v_readerid in cur_rule loop
update reader set rest_borrow_num=v_rule.num-f_borrowed_num(v_readerid)
where v_readerid=:old.readerid and reader.readertype=v_rule.readertype;
end loop;
End;
/
此时报错:错误(270,61): PLS-00382: 表达式类型错误
求大佬们告知我原因和如何改正!!!谢谢。