Changes between Version 4 and Version 5 of DatabaseProgramming


Ignore:
Timestamp:
06/10/26 22:34:55 (19 hours ago)
Author:
231020
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v4 v5  
    245245}}}
    246246
     247Тригер 2: При креирање на trade_request се креира broker_order
     248
     249{{{
     250CREATE OR REPLACE FUNCTION create_broker_order_from_trade_request()
     251RETURNS TRIGGER AS $$
     252BEGIN
     253    INSERT INTO broker_order (
     254        order_type,
     255        limit_price,
     256        quantity,
     257        status,
     258        executed_price,
     259        broker_fee,
     260        mse_reference_number,
     261        submitted_at,
     262        trade_request_id
     263    )
     264    VALUES (
     265        NEW.type,
     266        NEW.price_per_unit,
     267        NEW.quantity,
     268        'PENDING',
     269        NULL,
     270        ROUND((NEW.price_per_unit * NEW.quantity * 0.005)::numeric, 2), -- 0.5% fee
     271        'MSE-' || NEW.id || '-' || EXTRACT(EPOCH FROM NOW())::BIGINT,
     272        NOW(),
     273        NEW.id
     274    );
     275
     276    RETURN NEW;
     277END;
     278$$ LANGUAGE plpgsql;
     279
     280
     281CREATE TRIGGER trg_create_broker_order
     282AFTER INSERT ON trade_request
     283FOR EACH ROW
     284EXECUTE FUNCTION create_broker_order_from_trade_request();
     285}}}
    247286
    248287Тригер 2: При SELL - провери дали корисникот има доволно акции во holdings