Vytvářejte a odstraňujte spouště v MySQL

Spouštění programování v MySQL


Spouště nebo běžně vyvolávané programování "spouštěčů" Jsou typem objektu, který se nachází v databázích. Když je v uvedené databázi provedena určitá událost nebo operace, náš spouštěč automaticky provede akci, pro kterou jsme ji dříve naprogramovali.

The spouští jsou aktivovány automaticky, když jsou prováděny operace VLOŽIT, ODSTRANIT nebo UPDATE, které jsou vloženy, odstraněny nebo aktualizovány. Při provádění jakékoli z těchto akcí provádějí naše spouštěče instrukci nebo blok pokynů, pro které byly dříve naprogramovány.

The struktura spouště v MySQL je další:

ZVĚTŠIT

 [DEFINER = {uživatel | CURRENT_USER}]
Tato část kódu sděluje správci databází, který uživatel má oprávnění k tomu, aby mohl při spuštění událostí DML volat naše spouště. Výchozí hodnota je CURRENT_USER.

Chcete -li zvolit název našeho spouštěče, je třeba dodržet velmi dobré kritérium, které je následující: Nejprve zadejte název tabulky, poté iniciálu operace DML (I pro vložení, D pro odstranění nebo U pro aktualizaci) a poté počínaje okamžikem provedení (buď A po, nebo B dříve).

 PŘED | DESPUES DE
Udává pouze okamžik, kdy bude spuštěn náš spouštěč, tj. Pokud je spouštěč spuštěn před událostí DML (před) nebo po (po).
 VLOŽIT | ODSTRANIT | AKTUALIZACE
Říká nám, jaká bude věta, kterou použijeme ke spuštění spouště, Vložit k zadání dat, Odstranit k odstranění nebo Aktualizovat k úpravě.
 Název tabulky ON
Označuje tabulku spojenou s naším spouštěčem.
 ZA KAŽDÝ ŘAD
Pouze nám říká, že spoušť bude spuštěna pro každý řádek naší tabulky dříve definovaný v ON.

The závěrečné prohlášení o sql nebo blok pokynů bude věta nebo věty, které náš spouštěč provede, když vstoupí do akce.

Spusťte praktický příklad


Nyní uvidíme praktický příklad, jak naprogramovat spoušť na prodej autobusových jízdenek na určitou trasu, zatímco jsou volná místa.
Můžeme použít jakýkoli software, který přijímá spouště a uložené procesy.

1. Vytváříme databázi:

2. v pořadí vytvoříme dvě tabulky v naší databázi. Jedním z nich je, kam budeme ukládat prodané lístky, a druhý je vytvořen tak, abychom věděli, kolik lístků je na daný výlet k dispozici.

Zde je tabulka, která bude obsahovat informace o počtu prodaných vstupenek:

Dále vytvoříme tabulku, kam uložíme informace o počtu dostupných letenek pro každý konkrétní výlet:

3. nyní vytvoříme tabulku pro uložení různých výletů:

4. Po vytvoření databáze a tabulek vytvoříme SQL dotaz spouště, ale předtím musíme vědět, jaké jsou NOVÉ a STARÉ identifikátory ve spouštěch.

Aby náš trigger mohl souviset s jedním nebo více konkrétními sloupci tabulky, musíme použít výše uvedené identifikátory NOVÉ A STARÉ.
STARÝ: označuje starou hodnotu sloupce
NOVÝ: novou hodnotu, kterou by mohla mít.
Jako příklad: OLD.idtrip nebo NEW.idtrip.

S VLOŽTE prohlášení Můžeme použít pouze NOVÝ identifikátor, protože pomocí INSERT je generovanou funkcí zavádění nových hodnot do sloupce nebo sloupců.
Pokud použijeme VYMAZAT prohlášení v tomto případě musíme použít STARÝ identifikátor, protože s DELETE odstraňujeme hodnoty, které již dříve existovaly.
Na druhou stranu, pokud použijeme UPDATE prohlášení Můžeme použít STARÉ a NOVÉ, protože můžeme odkazovat na staré nebo nové hodnoty, protože upravíme záznamy, které již pro jiné hodnoty existovaly.

Nyní, když rozumíme identifikátorům, bude příkaz sql vypadat takto:

Pokud spustíme příkaz sql v programu, který jej podporuje, skutečně bychom to viděli spouště byla vytvořena.

Abychom viděli, jak to funguje, uvádíme některé logické hodnoty pro cestu autobusem, například:

Zde jsem do cesty zadal s identifikátorem číslo 1, že je k dispozici 45 míst.

Poté prodáme lístek, například lístek, který odpovídá místu 14:

Pokud při zadávání tohoto dotazu přejdeme do pole current_availability, uvidíme, že 45 se změnilo na 44, protože byl aktivován spouštěč „update_availability“.

The výhody použití spouštěčů spočívá v tom, že lze naprogramovat různé případy použití a že je zachována integrita databáze, to znamená, že nám to dává možnost vytvářet rutiny, které provádějí určité akce automaticky, aniž by bylo nutné to dělat ručně. Bylo by velmi platné pro validaci jakéhokoli druhu informací nebo nějaké sledování pohybů databáze.

Dalším velmi zajímavým příkladem, jak jsem právě zmínil v ověření, je určení věkové většiny před vyslovením věty, například:

Poté, co jsme viděli příklady vytváření spouštěčů, musíme vědět, jak přistupovat k informacím o spouštěči. K tomu použijeme věty:

Chcete -li zobrazit spouště v naší databázi:

 ZOBRAZTE SPOUŠTĚČE
Na druhou stranu, pokud chceme vidět informace o spouště, která byla v tuto chvíli vytvořena:
 ZOBRAZIT VYTVOŘENÍ SPUŠTĚNÍ student_BU_trigger
Nakonec, poté, co jsme viděli, jak se spouště vytvářejí a zobrazují, uvidíme, jaké je prohlášení použité k odstranění spouště, které máme v naší databázi.
K tomu stačí použít typický příkaz delete: pokles.
 DROP TRIGGER [IF_EXISTS] název_spouštěče

Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod
wave wave wave wave wave