Procedury a funkce ulo₧enΘ na serveru (SQL)

Procedury a funkce ulo₧enΘ na serveru (oznaΦovanΘ souhrnn∞ jako rutiny) zjednoduÜujφ tvorbu databßzov²ch aplikacφ a urychlujφ jejich b∞h. Klientskß aplikace vyu₧φvajφcφ ulo₧en²ch rutin pouze volß hotovΘ rutiny (p°itom jim p°edßvß vstupnφ parametry a p°ebφrß v²stupnφ), mφsto aby posφlala serveru zvlßÜtnφ po₧adavek na provedenφ ka₧dΘho p°φkazu obsa₧enΘho v rutinßch.

Proceduru lze provΘst tak, ₧e se zavolß pomocφ SQL p°φkazu CALL.

Funkce se provede, vyskytne-li se jejφ volßnφ jako souΦßst v²razu. B∞hem provßd∞nφ funkce musφ b²t v jejφm t∞le proveden p°φkaz RETURN. Pokud proveden nenφ, nastane chybov² sqlstate 2F001.

Rutinu lze vytvo°it, modifikovat a zruÜit:

V obou prost°edφch se rutina definuje pomocφ jazyka pro psanφ rutin a trigger∙ z SQL 3. Ve v²vojovΘm prost°edφ WinBase602 zaΦφnß text editovanΘ rutiny slovem PROCEDURE nebo FUNCTION, slovo CREATE nebo ALTER se neuvßdφ.

RozÜφ°enφ jazyka SQL proti norm∞

Podrobnosti o ulo₧en²ch rutinßch lze najφt na nßsledujφcφch strßnkßch:

P°φklad pou₧itφ funkce jako₧to integritnφho omezenφ v tabulce:

V tabulce je sloupec RETEZEC a klauzule CHECK (KONTROLA(RETEZEC))).

V tΘ₧e aplikaci je rutina KONTROLA, kterß kontroluje, je-li p°edan² °et∞zec delÜφ ne₧ 8 znak∙, jestli₧e ne, vrßtφ funkce FALSE a integritnφ omezenφ nenφ spln∞no:

FUNCTION `KONTROLA`(IN str CHAR(12)) RETURNS BOOLEAN;
BEGIN
  DECLARE pom BOOLEAN DEFAULT FALSE;
  IF CHAR_LENGTH(str)>8 THEN 
    SET pom=TRUE; 
  END IF;
  RETURN pom;
END