Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE FUNCTION check_book_permission_before_checkout()
- returns TRIGGER AS $$
- DECLARE
- requires_permission BOOLEAN;
- BEGIN
- requires_permission := (SELECT requires_permission FROM books WHERE id = NEW.book_id);
- IF requires_permission AND NEW.permitted_by_id IS NULL
- THEN RAISE EXCEPTION 'A permission is required to check out the requested book.';
- END IF;
- END;
- $$
- language plpgsql;
- CREATE TRIGGER validate_book_checkout_policy
- before INSERT
- ON book_lendings
- FOR each ROW EXECUTE PROCEDURE check_book_permission_before_checkout();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement