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