== Функции, тригери и процедури = Функции **- fn_stadium_available_seats** - враќа колку седишта се достапни за даден натпревар [[BR]][[BR]] [[Image("1 (2).png")]][[BR]][[BR]] **- fn_team_revenue_for_season** - враќа приход од продадени билети и спонзори, како и вкупен приход[[BR]][[BR]] [[Image("2 (2).png")]][[BR]][[BR]] = Тригери **- trg_ticket_capacity_limit** - не дозволува внес на билет доколку стадионот е веќе полн за тој натпревар[[BR]][[BR]] [[Image("3 (2).png")]][[BR]][[BR]] **- trg_prevent_self_transfer** - не дозволува да се направи трансфер во ист тим[[BR]][[BR]] [[Image("4 (2).png")]][[BR]][[BR]] **- trg_match_no_duplicate_same_day** - не дозволува да се додаде натпревар доколку некој од тимовите веќе имаат некој друг натпревар на истиот датум[[BR]][[BR]] [[Image("5 (2).png")]][[BR]][[BR]] = Процедури **- sp_scan_ticket** - го означува билетот како скениран доколку веќе не е и доколку натпреварот не е поминат[[BR]][[BR]] [[Image("6 (2).png")]][[BR]][[BR]] **- sp_cancel_match(p_match_id)** - ги брише сите tickets, lineups, events, odds, и referee assignments за натпревар, и на крај го брише самиот натпревар.[[BR]][[BR]] [[Image("7 (2).png")]] [[Image("8 (2).png")]] = Функции **- fn_bookmaker_best_odds** - враќа најдобрите квоти за домаќин, нерешено и гостин од сите букмејкери за даден натпревар, со проверки дали натпреварот и квотите постојат[[BR]][[BR]] [[Image("f1.png")]][[BR]][[BR]] **- fn_player_career_transfer_stats** - враќа детална статистика за трансферната кариера на играч: вкупен број и вредност на трансфери, просечен, највисок и најнизок надомест, тековен и претходен клуб и години од првиот трансфер, со проверки дали играчот и трансферите постојат[[BR]][[BR]] [[Image("f21.png")]][[BR]][[BR]] [[Image("f22.png")]][[BR]][[BR]] = Тригери **- trg_lineup_validation** - не дозволува внес на повеќе од 18 играчи во составот на еден тим за даден натпревар, и не дозволува играч да биде во составот на два различни тима на ист датум[[BR]][[BR]] [[Image("t1.png")]][[BR]][[BR]] **- trg_validate_contract_dates** - не дозволува внес на договор чиј краен датум е пред почетниот, не дозволува преклопување на два активни договори за ист играч и тим, и не дозволува повеќе од еден договор без краен датум истовремено[[BR]][[BR]] [[Image("t2.png")]][[BR]][[BR]] = Процедури **- sp_transfer_player** - ја регистрира трансферот на играч меѓу два тима: проверува дали играчот и тимовите постојат, го затвора активниот договор кај претходниот тим со поставување на end_date, го креира типот на трансфер доколку не постои, и вметнува нов запис во Transfer табелата[[BR]][[BR]] [[Image("p11.png")]][[BR]][[BR]] [[Image("p12.png")]][[BR]][[BR]] **- sp_close_player_contract** - го затвора активниот договор на играч кај одреден тим: проверува дали играчот, тимот и активниот договор постојат, валидира дека новиот краен датум е после почетниот и не е повеќе од 5 години во иднина, и го ажурира end_date на договорот[[BR]][[BR]] [[Image("p21.png")]][[BR]][[BR]] [[Image("p22.png")]][[BR]][[BR]]