Tárolt eljárások mysql - mindent róla, és a programozás
Mit kell? Telepítse a MySQL szerver verzió 5-ös vagy magasabb (dev.mysql.com/downloads). Eljárások hozhat létre lekérdezést, mint például a parancssor MySQL, de a kényelem tanácsot letölthető MySQL GUI Tools (dev.mysql.com/downloads/gui-tools). Ez a csomag tartalmazza a három program - MySQL Administrator, MySQL Query Browser és a MySQL Migration Toolkit. Szükségünk van az első kettő. (Bár lehet, hogy egy MySQL Query Browser, hanem mindazokat $$ tárolt eljárások néha zavaró).
Az első tárolt eljárás
Tehát nyitott MySQL Administrator, a MySQL szerver és hozzon létre egy új séma (adatbázis), kattintson a katalógusok, válassza a Create New séma a sémák (Ctrl + N). Nevezzük valahogy (pl db). Nyisd az újonnan létrehozott rendszert, válassza tárolt eljárások fülre, majd a Create tárolt Proc. Hívja eljárás eljárás1. A test az eljárás (közötti BEGIN és az END) regisztrálja a következőképpen:
És kattintson Execute SQL - megállapított eljárás. Nyisd MySQL Query Browser, válassza ki a rendszert (db) és adja meg a következő lekérdezést:
Voila! Gratulálok.
Változókat a MySQL
Ahhoz, hogy távolítsa el kaku néhány előnyös tárolt eljárások MySQL, meg kell dolgozni változók. Mivel ez túlmutat a jelen cikk, megmutatom, csak néhány példát említsünk.
egyszerű változók
rendszer változók
A különbség az egyszerű és a rendszer változókat, hogy a rendszer változók kívülről hozzáférhető a tárolt eljárás. Azaz, a kivonat minden adatot akkor kell használni a rendszert, és a változók, amelyek szükségesek csak az eljáráson belül legyen egyszerű.
Paraméterek tárolt eljárások
Itt is minden nagyon egyszerű. Változás az első sorban, amely kijelenti maga az eljárás:
Itt a kulcsszó jelzi, hogy a paraméter meg van adva, mint a csak olvasható. Továbbá, ez a lehetőség működik, mint egy normál változó eljáráson belül:
Feltételek Cycles. IF THEN ELSE, MÍG
Feltételek és ciklusok akkor feltétlenül szükség van az írás komplex tárolt eljárásokat, de laknak ebben a témában lesz. Azt hiszem, legalább néhány programozási ismeretek van, úgy, hogy a műsor csak szintaxis.
Egy egyszerű példa
Az egyik a jó alkalmazások tárolt eljárások - ha kell kombinálni több lekérdezés egyetlen adni, például szálak a fórumon, és növeli az összes témát. Tegyük szálak táblázatban
Itt a cím, akkor főcím az új témát. Nos, az asztalra, például a különböző statisztikai változók a helyén, beleértve az összes említett egységes.
Itt, mint minden világos, mondjuk mi van egy rekord a name = szálak és value = 0. Hozzon létre egy új tárolt eljárást eljárás keretében2.
Magyarázza semmi különös, csak a két lekérdezés egyesülnek. Most tudjuk hívni ezt az eljárást az alábbiak szerint:
Így ahelyett, hogy két, vagy több kérelmet (pl egy php), akkor küldünk egy - optimalizálni, tiszta kódot, és meg lehet változtatni bármikor anélkül, hogy a többi szkript.
Kurzorok (MySQL kurzorok)
Kurzorok teszi, hogy menjen át a kapott eredmények kérelmet. Az elmélet nehéz megmagyarázni, és azt mutatják, a gyakorlatban. Újabb táblázat adatbázisunkban - megtekintve:
Itt fogjuk rögzíteni az összes címkét az összes téma. A tárolt eljárás fog kinézni:
Részletességgel. Az eljárás megy keresztül minden témában, minden tag megtöri a címkék asztalra, és ha a címke hiányzik, akkor adja hozzá.
Nyissa meg a kurzort, és kap az első rekordot. Következő a ciklusban - kiválasztása a találatok száma a címkék az aktuális címke asztalra, és helyezze az eredmény változó iCount. Ha nincs találat, akkor az INSERT lekérdezést beilleszt egy új tag.
A végén, akkor lezárja a kurzort és kilépési eljárásokat. Nos, ez minden.
adatvisszaszerzés
Emlékezzünk rá, a változó és tekintsünk egy másik manipuláció az asztalunkra -, hogy az összes tag és témák. Azonnal folytatni kell az eljárást:
Kijelentjük két változót - iTags - címkék számát, és iThreads - az összes témát.
Következő két egyszerű SELECT lekérdezés, töltő a változókat. Így a végén ők értéket rendelnek egy változóhoz aktuális egyszerű változók. Ha telefonál ez az eljárás nem ad vissza semmit, de miután egy hívást, akkor feltételezhetjük a kívánt értékeket rendszerváltozókkal:
Képviseletek néha „virtuális asztal”. Név annak a ténynek köszönhető, hogy a bemutató a felhasználó rendelkezésére álló, mint egy asztal, de ez önmagában nem tartalmaz adatokat, és eltávolítja őket az asztalról idején hivatkozást. Ha az adatok nem változik a mögöttes asztalon, a felhasználó megkapja.
Egyszerű felület perl MySQL adatbázis interfész, ez az első módja, hogy olvassa el a MySQL adatbázis egy program perl. A legfontosabb: MySQL; $ DBH = Mysql-> Csatlakozás; $ DBH = Mysql-> Connect ($ host); $ DBH = Mysql-> Connect ($ host, $ adatbázis); n.