Uložená procedura: Porovnání verzí

Smazaný obsah Přidaný obsah
EmausBot (diskuse | příspěvky)
m r2.7.2+) (Robot: Přidávám tr:Saklı yordam
Řádek 2:
 
== Popis ==
Uložená procedura je především '''[[procedura]]'''. Jedná se o část programu, který je (nebo by aspoňalespoň měl být) jasně funkčně oddělený od svého okolí, má interface (seznam parametrů) pro komunikaci s jinými moduly programu. Může mít vlastní lokální [[Proměnná|proměnné]] neviditelné pro ostatní části programu.
 
Uložená procedura je '''uložená''' (rozuměj: uložená v databázi). To znamená, že se k ní lze chovat stejně jako ke každému jinému objektu databáze ([[Index (databáze)|indexu]], [[Pohled (databáze)|pohledu]], [[Trigger (databáze)|triggeru]] apod.). Lze jí založit, upravovat a smazat pomocí příkazů dotazovacího jazyka databáze (v případě [[relační databáze]] obvykle pomocí příkazů [[SQL|DDL SQL]]). Deklarace uložené procedury je vždy "uložena" v databázi - vlastní definice pak v databázi být uložena nemusí - příkladem jsou tzv. externí procedury, kdy v deklaraci je uveden pouze odkaz do externí knihovny.
 
Pro psaní uložených procedur je obvykle používán specifický jazyk konkrétní databáze, který je buďto rozšířením jejího dotazovacího jazyka (např. T-SQL) nebo specifický procedurální jazyk s podporou SQL (hezkým příkladem je pro databázi [[Oracle]] procedurální jazyk [[PL/SQL]] - v tomto případě se jedná o programovací jazyk ADA rozšířený o SQL). ANSI SQL obsahuje část věnovanou uloženým procedurám - definuje programovací jazyk [[SQL/PSM]], který je např. použit v SQL serverech [[DB2]] nebo [[MySQL]]. Většina moderních databázových systémů podporuje implementaci uložených procedur i v klasických programovacích jazycích - Java, C#, C a dalších - a to v těch případech, kdy nám specifické jazyky z důvodů omezené funkčnosti nebo výkonu nevyhovují.
 
== Vlastnosti ==