Changes between Version 1 and Version 2 of DatabaseProgramming


Ignore:
Timestamp:
05/19/26 13:12:35 (7 days ago)
Author:
231020
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v1 v2  
    4848
    4949    RETURN COALESCE(v_value, 0);
     50END;
     51$$ LANGUAGE plpgsql;
     52}}}
     53
     54
     55Функција 3: цената треба автоматски да се менува кога ќе се случи нова трансакција
     56
     57{{{
     58CREATE OR REPLACE FUNCTION update_stock_price()
     59RETURNS TRIGGER AS
     60$$
     61BEGIN
     62    UPDATE stock
     63    SET
     64        last_price = current_price,
     65        current_price = (
     66            SELECT AVG(price)
     67            FROM trade_transaction
     68            WHERE stock_id = NEW.stock_id
     69        ),
     70        last_updated = NOW()
     71    WHERE id = NEW.stock_id;
     72
     73    RETURN NEW;
    5074END;
    5175$$ LANGUAGE plpgsql;
     
    211235EXECUTE FUNCTION check_holdings_before_sell();
    212236}}}
     237
     238
     239Тригер 2: цената треба автоматски да се менува кога ќе се случи нова трансакција
     240
     241{{{
     242CREATE TRIGGER trg_update_stock_price
     243AFTER INSERT ON trade_transaction
     244FOR EACH ROW
     245EXECUTE FUNCTION update_stock_price();
     246}}}