create procedure update_return_date (in stu_id varchar(10) , in book_id varchar(10) , in return_date date) as begin update borrow_book set r_time = return_date where stu_id = s_id and book_id = b_id; end; /
create or replace function update_booknum() returns trigger as $$ declare begin update book set b_num=b_num+1 where b_id=old.b_id; return new; end; $$ language plpgsql;
创建触发器,在还书更新还书时间后调用上述触发器函数
1 2 3 4
create trigger return_book after update of r_time on borrow_book for each row execute procedure update_booknum();
原先图书表book数据如下
更新还书时间r_time
1 2
update borrow_book set r_time = '2022-11-12' where b_id = '34224' and s_id = '043858';