Web Developmentexpert

Č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á.