Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Metody databáze (pohledy, uložené procedury, triggery)

PDF
Stáhnout kompletní materiál zdarma (244.62 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

Uložené procedury jsou obecně schopné běžet rychleji, než kdyby se měl příslušný kód vykonávat 
z klientské aplikace. Důvodem je fakt, že uložené procedury jsou na serveru zkompilovány1. 

                                                        
1

 zkompilováním  je  myšleno,  že  si  server  pro  uloženou  proceduru  vytvoří  a  spravuje  tzv.  prováděcí  plán,  díky 

kterému  je  subsystém  serveru  zvaný  optimalizátor  obvykle  schopen  najít  nejrychlejší  způsob,  jak  uloženou 
proceduru provést a potom tento způsob opakovaně používat při jednotlivých voláních této uložené procedury  

PAD Programování a databáze 

Téma 19 

Školní rok 2017/2018 

2/2 

Jan Švábík, V4D 

Vytvoření a volání procedury 

Procedura pro vrácení veškerého uloženého softwaru. Níže je pak zavolána. 

CREATE PROCEDURE vratSoftware() 
BEGIN 
    SELECT * FROM software; 
END // 

CALL vratSoftware(); 

Procedura pro vrácení konkrétního záznamu (např. podle kódu produktu). Níze je pak zavolána. 

CREATE PROCEDURE vratProdukt(IN kodProduktu CHAR(8)) 
BEGIN 
    SELECT * FROM produkty WHERE kod = kodProduktu; 
END // 

CALL vratProdukt("ABC12345"); 

Triggery 

Trigger je pak nějaká uložená procedura, která se spouští automaticky v souvislosti s provedením 
nějakého akčního dotazu v tabulce (každý trigger patří právě jedné tabulce). Dále se od uložených 
procedur liší nemožností předávat nějaké vstupní parametry nebo něco vracet. 

V triggeru  se  nesmí  objevit  následující  příkazy:  ALTER,  START  TRANSACTION,  ROLLBACK,  COMMIT, 
GRANT

, REVOKE, CALL a některé další. 

Výhodou  však  je,  že  triggery  mají přístup  k datům,  která  se právě mění. Tzn.  Trigger,  který  se 
spouští  před  aktualizací  nějaké  tabulky,  má  přístup  k hodnotám  těch  řádků,  které  mají  být 
změněny. Před úpravou nějakého záznamu je tak například možné automaticky uložit původní 
záznam do tabulky archiv. 

Témata, do kterých materiál patří