Skip to content

Rutine i okidači

Pohranjene procedure i funkcije

Procedure i funkcije nalaze se u bočnoj traci pod Funkcije. Desni klik pa Otvori editor rutina prikazuje i otvara definiciju za uređivanje.

Editor prikazuje DDL rutine onako kako ga server javlja. Spremanje zamjenjuje definiciju.

Pisanje rutina u SQL editoru

Rutine možete stvarati i iz obične kartice SQL editora. Razdvajanje naredbi razumije DELIMITER, pa se tijelo puno točaka-zareza izvršava kao jedna naredba umjesto da bude isjeckano:

sql
DELIMITER $$

CREATE PROCEDURE mjesecni_promet(IN godina_in INT)
BEGIN
  SELECT MONTH(kreirano) AS mjesec, SUM(ukupno) AS ukupno
  FROM narudzbe
  WHERE YEAR(kreirano) = godina_in
  GROUP BY MONTH(kreirano);
END$$

DELIMITER ;

Bez toga bi ; iza svake unutarnje naredbe prerano završio CREATE PROCEDURE i server bi ga odbio — što je uobičajen razlog zašto rutina koja radi u konzoli pukne u grafičkom klijentu.

Okidači

Desni klik na bazu pa Okidači otvara editor okidača za tu bazu. Prikazuje okidače definirane ondje i DDL svakog od njih.

Okidači se mogu pregledavati, uređivati i brisati. Kao i kod pogleda, obrisani okidač ne povlači ništa drugo za sobom.

Okidači i skupne operacije

Okidač se izvršava po retku. Tijekom velikog uvoza ili prijenosa podataka to brzu operaciju može pretvoriti u sporu, a može i duplicirati posao koji prijenos ionako radi. Prijenos podataka zato ima opciju Uključi okidače — da odluka bude vaša.

Gdje se rutine još pojavljuju

  • Prijenos podataka može kopirati poglede, procedure i funkcije u drugu bazu — uključujući drugu vrstu baze, gdje dijalekt nakon toga možda treba doraditi.
  • Dump SQL file nad bazom uključuje definicije rutina u dump.