Uložené procedúry: ako funkcie pre váš SQL.
Uložená procedúra je dávka príkazov SQL vytvorených a uložených v databáze. Uloženú procedúru môžete znova a znova použiť.
Uložená procedúra môže akceptovať parametre, spustiť dotaz a vrátiť výsledky. Mnoho používateľov môže volať uloženú procedúru a rôzne aplikácie ju môžu volať s rôznymi hodnotami parametrov.
Aké sú výhody používania uložených procedúr?
Uložená procedúra má okrem toho, že ju môže opakovane použiť viacerým používateľom a aplikáciám, aj ďalšie výhody.
- Je ľahké ho upraviť. V prípade potreby môžete zmeniť uloženú procedúru a tieto aktualizácie sa prejavia pre všetkých používateľov. Okrem toho pri úprave uloženej procedúry nemusíte znova nasadzovať svoju aplikáciu.
- Znižuje to sieťovú premávku, pretože server prenáša cez sieť iba názov procedúry a nie celý dotaz.
- Zlepšuje bezpečnosť databázy, pretože používatelia nemajú priamy prístup k tabuľkám. Ak chcete vykonať zmeny, musia zavolať uloženú procedúru. To zabraňuje útokom SQL injection, pretože používatelia nemôžu priamo zapisovať do základných tabuliek.
Databázový stroj ako MySQL má veľa bezpečnostných funkcií mali by ste si byť vedomí.
Syntax vytvárania uloženej procedúry v SQL Server
Syntax vytvárania uloženej procedúry je nasledovná:
VYTVORIŤPOSTUP názov_postupu
AS
sql_statement
GO;
Spustite tento príkaz na vykonanie uloženej procedúry.
EXEC názov_postupu;
Príklad jednoduchej uloženej procedúry v SQL Server
Tu je príklad uloženej procedúry, ktorá vyberá všetky články z databázy článkov.
VYTVORIŤPOSTUP Všetky_články
AS
VYBRAŤ * OD Článok
GO;
Toto je jednoduchý príklad, ale s uloženými procedúrami môžete urobiť oveľa viac, ako je akceptovanie parametrov a aktualizácia záznamov.
Ako vytvoriť uloženú procedúru, ktorá akceptuje parametre
Napríklad upravte jednoduchú uloženú procedúru tak, aby akceptovala číslo ako parameter a použite ho na vrátenie príspevkov s počtom zobrazení vyšším ako je číslo.
VYTVORIŤPOSTUP Populárne_články(@zobrazenia int)
AS
VYBRAŤ * OD Článok
WHERE views_count >= @názory_count
GO;
Tento príkaz použite na vykonanie uloženej procedúry s parametrom.
EXEC Popular_Articles 300;
Procedúra vráti články, ktorých počet zobrazení je vyšší ako 300.
Pred použitím uložených procedúr sa najprv naučte SQL
Uložené procedúry vám umožňujú opakovane použiť skupinu príkazov SQL. Tiež zlepšujú bezpečnosť databázy, znižujú sieťovú prevádzku a ľahko sa upravujú.
Učenie sa o uložených procedúrach je preto dôležité, ale najprv musíte dobre rozumieť SQL.