Changes between Version 4 and Version 5 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
06/25/25 13:20:59 (3 days ago)
Author:
223270
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v4 v5  
    2222
    2323=== Примери за тригери
    24 Тригерите се користат за автоматска реакција на промена во базата. Во TravelSage, тие се применети за: контрола на интегритет (нема дупли препораки) и автоматска реакција на негативна рецензија.
     24Тригерите се користат за автоматска реакција на промена во базата. Во TravelSage, тие се применети за автоматска реакција на негативна рецензија.
    2525
    26 1. Спречување дупли препораки
    27 Ако корисник веќе има препорака за истата дестинација, не му се дозволува повторно да ја додаде.
    28 {{{
    29 CREATE OR REPLACE FUNCTION prevent_duplicate_recommendation()
    30 RETURNS TRIGGER AS $$
    31 BEGIN
    32    IF EXISTS (
    33        SELECT 1 FROM preporaki
    34        WHERE idkorisnik = NEW.idkorisnik AND iddestinacija = NEW.iddestinacija
    35    ) THEN
    36        RAISE EXCEPTION 'User already has this destination in recommendations!';
    37    END IF;
    38    RETURN NEW;
    39 END;
    40 $$ LANGUAGE plpgsql;
    41 
    42 CREATE TRIGGER trg_check_duplicate_recommendation
    43 BEFORE INSERT ON preporaki
    44 FOR EACH ROW EXECUTE FUNCTION prevent_duplicate_recommendation();
    45 }}}
    46 
    47 2. Деактивирање дестинација со негативни рецензии
     261. Деактивирање дестинација со негативни рецензии
    4827Ако некој внесе рецензија со оцена помала од 3, системот автоматски ја прави дестинацијата неактивна за да не се прикажува во понатамошните резултати.
    4928{{{