Turinys
The Išsaugotos procedūros yra kodo blokai SQL kurie yra saugomi duomenų bazėje ir naudojami atlikti tam tikrus veiksmus, viršijančius išsaugotas užklausas, pvz boorkmarks, paskambinti jiems, mes tai darome su instrukcija SKAMBINTI, mes netgi galime perduoti parametrus Išsaugotos procedūros.Saugomos tvarkos kūrimas
Norėdami tęsti kūrimą a Saugojimo procedūra (SP) iš pradžių turime turėti vartotojo leidimus KURTI RUTINĄ Y ALTER rutina, vartotojui, kurį naudosime kurdami juos duomenų bazėje, taip pat reikės leidimo VYKDYTI, nors tai automatiškai priskiriama SP kūrėjui.
Norėdami sukurti a SP, pirmas dalykas, kurį turime padaryti, yra eiti į užklausų lauką, paprastai norint užbaigti SQL sakinį, naudojame kabliataškį (
Kai tai bus padaryta, mes įvesime savo kodą į užklausos lauką, pažiūrėkime kodo pavyzdį:
KURTI PROCEDŪRĄ "add_page" (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF param_pages> 100 THEN SET param_message = 'puslapių skaičius per didelis'; KITA ATNAUJINTI knygą SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'sėkmė'; PABAIGA IF; GALAS //
Kaip matome, išsiaiškinti, ką tai daro, nėra labai sunku SP, pirmoji eilutė yra gana paprasta, mes tiesiog apibrėžiame SP įvesties ir išvesties parametrus, tada pradedame nuo PRADĖTI savo bloką, mes įdedame sąlygą IF ELSE, kurioje įvertiname kiekvieną įvesties parametrą, kad su kiekviena sąlyga atliktume veiksmą, tada uždarytume atitinkamus mūsų SP blokus su ENDIF ir END ir galų gale su // kuris yra mūsų pasirinktinis ribotuvas.
Saugojimo procedūros testavimas
Kai tai bus apibrėžta, mes išbandysime savo SP, tam pamatysime keletą elementų, kurių nenaudojome, pirmiausia pažiūrėkime kodą, o paskui paaiškinimą:
paskambinti add_page ('1-234567-22-0', 4, @žinutė);
SELECT @žinutė;
Pažiūrėkime, mes naudojame SKAMBINTI skambinti mūsų SP, tada perduodame du parametrus, kuriuos SP Aš laukiau ir galiausiai mes naudojame „MySQL“ kintamąjį, kad gautume atsakymą, antroje eilutėje mes tiesiog kreipiamės į šį kintamąjį, kad gautume jo vertę; Kaip matome, su tuo dirbti yra gana paprasta.
Manipuliavimas saugoma procedūra
The SP Jis saugomas duomenų bazėje, tačiau nėra susietas su jokia konkrečia lentele, todėl pirmiausia norėdami juos pasiekti, einame į duomenų bazės rodinį „phpMyAdmin“, struktūros puslapyje turėsime skyrių pavadinimu Rutinos.
Kai spustelime redagavimo piktogramą, matome, kad jo parodytas SP kodas skiriasi nuo mūsų, pažiūrėkime, kas pasirodo:
DROP PROCEDURE "add_page" // CREATE DEFINER = "marc" @ "%" PROCEDURE "add_page" (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF param_pages> 100 THEN SET param_message = " puslapių skaičius per didelis “; KITA ATNAUJINTI knygą SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'sėkmė'; PABAIGA IF;
The SP Mes negalime jų pakeisti, todėl bandant ją redaguoti, pirmoji instrukcija yra SP DROP, tokiu būdu pašaliname ją, kad ją atkurtume, tolesnėse eilutėse ji taip pat sukuria eilutę, kurioje nurodytas nurodytas vartotojas yra minėto SP kūrėjas; kai pakeitimai bus atlikti spustelėjus Eik sukuriame pakeistą SP ir ji išsaugoma duomenų bazėje.
Tuo baigiame pamoką, kaip matome Išsaugotos procedūros Jie yra labai naudingi saugojant instrukcijų blokus, kuriuos galime iškviesti bet kuriuo metu, o tai suteikia mums duomenų bazės paprogramių galią.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką