Changes between Version 21 and Version 22 of DatabaseProgramming
- Timestamp:
- 06/15/26 12:00:29 (2 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DatabaseProgramming
v21 v22 645 645 646 646 {{{ 647 CREATE OR REPLACE FUNCTION trg_prevent_over_selling()647 CREATE OR REPLACE FUNCTION fn_prevent_over_selling() 648 648 RETURNS TRIGGER 649 649 LANGUAGE plpgsql … … 653 653 BEGIN 654 654 655 655 656 656 SELECT quantity 657 657 INTO v_stock … … 659 659 WHERE product_id = NEW.product_id; 660 660 661 661 662 662 IF NOT FOUND THEN 663 663 RAISE EXCEPTION 'Product % does not exist', NEW.product_id; 664 664 END IF; 665 665 666 666 667 667 IF v_stock < NEW.quantity THEN 668 668 RAISE EXCEPTION … … 674 674 END; 675 675 $$; 676 }}} 676 677 678 CREATE TRIGGER trg_prevent_over_selling 679 BEFORE INSERT ON orderitems 680 FOR EACH ROW 681 EXECUTE FUNCTION fn_prevent_over_selling(); 682 }}}
