Čo je Uložená procedúra (Stored Procedure)?
Uložená procedúra je predkompilovaný SQL kód uložený priamo v databáze, ktorý sa spúšťa na serveri. Umožňuje zapuzdriť zložitú obchodnú logiku, zvýšiť výkon opakovaných operácií a centralizovať prístupy k dátam. Používa sa najmä v podnikových systémoch.
Definícia Uložená procedúra
Čo je uložená procedúra
Uložená procedúra (stored procedure) je pomenovaný blok SQL príkazov uložený v databáze. Na rozdiel od bežných dotazov, ktoré sa posielajú z aplikácie, uložená procedúra je predkompilovaná a beží priamo na databázovom serveri. Môže prijímať parametre, obsahovať podmienky, cykly a vracať výsledky.
Výhody uložených procedúr
- Výkon — predkompilovaný kód sa vykonáva rýchlejšie ako ad-hoc dotazy. Znižuje sa sieťová komunikácia medzi aplikáciou a databázou
- Bezpečnosť — používatelia môžu spúšťať procedúry bez priameho prístupu k tabuľkám. Ochrana pred SQL injection
- Centralizácia logiky — obchodná logika je na jednom mieste, zdieľaná medzi viacerými aplikáciami
- Konzistencia — rovnaká operácia sa vždy vykoná rovnako, bez ohľadu na to, kto ju volá
Nevýhody a moderný prístup
Uložené procedúry sťažujú verzionovanie, testovanie a ladenie. V modernom vývoji sa obchodná logika presúva do aplikačnej vrstvy a uložené procedúry sa používajú len pre výkonovo kritické operácie alebo komplexné dátové transformácie.
Praktický príklad
Príklad: E-shop potrebuje spracovať objednávku — overiť dostupnosť produktov, odpočítať zásoby, vytvoriť záznam objednávky a poslať notifikáciu. To je 4 SQL dotazy.
Bez procedúry: Aplikácia posiela 4 samostatné dotazy cez sieť — pomalšie a náchylné na čiastočné zlyhanie.
S uloženou procedúrou: CALL spracuj_objednavku(123, 'produkt_A', 2) — jeden volanie spustí celú transakciu priamo na serveri, atomicky a rýchlo.
Často kladené otázky
Čo je uložená procedúra?
Uložená procedúra je predpripravený SQL kód uložený v databáze, ktorý sa spúšťa priamo na databázovom serveri. Môže prijímať parametre, obsahovať logiku a vracať výsledky.
Kedy použiť uloženú procedúru?
Uložené procedúry sú vhodné pre výkonovo kritické operácie, komplexné dátové transformácie a situácie, kde viacero aplikácií potrebuje rovnakú databázovú logiku.
Sú uložené procedúry zastarané?
Nie sú zastarané, ale ich použitie v modernom vývoji klesá. Obchodná logika sa presúva do aplikačnej vrstvy, kde sa jednoduchšie testuje a verzionuje. Procedúry sa stále používajú v podnikových a finančných systémoch.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.