Cuprins
Proceduri stocate sunt blocuri de cod SQL care sunt stocate în baza de date și sunt utilizate pentru a efectua o serie de acțiuni care depășesc interogările salvate precum semne de boork, pentru a le numi o facem cu instrucțiunea APEL, putem chiar să trecem parametrii la spus Proceduri stocate.Crearea unei proceduri stocate
Pentru a continua cu crearea unui Procedură stocată (SP) trebuie să avem inițial permisiunile utilizatorului de CREAȚI RUTINA Da ALTER RUTINA, pentru utilizatorul pe care îl vom folosi pentru a le crea în baza de date, va fi necesară și permisiunea A EXECUTA, deși acest lucru este atribuit automat creatorului unui SP.
Pentru a crea un SP, primul lucru pe care trebuie să-l facem este să mergem la Caseta de interogare, de obicei pentru a termina o instrucțiune SQL folosim punct și virgula (
Odată ce acest lucru este făcut, vom introduce codul nostru în caseta de interogare, să vedem un exemplu de cod:
CREAȚI PROCEDURA `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 = 'numărul de pagini este prea mare'; ELSE UPDATE book SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'succes'; ÎNCHEI DACĂ; SFÂRȘIT //
După cum putem vedea, nu este foarte dificil să aflăm ce face acest lucru SP, prima linie este destul de simplă, pur și simplu definim parametrii de intrare și ieșire ai SP, apoi începem cu ÎNCEPE blocul nostru, plasăm un condițional IF ELSE în care evaluăm fiecare dintre parametrii de intrare, astfel încât cu fiecare condiție să executăm o acțiune, apoi închidem blocurile respective ale SP-ului nostru cu ENDIF și END și ajungem la // care este delimitatorul nostru personalizat.
Testarea procedurii stocate
Odată definite, o să le testăm SP, pentru aceasta vom vedea câteva elemente pe care nu le-am folosit, mai întâi să vedem codul și apoi explicația:
apelați add_page („1-234567-22-0”, 4, @message);
SELECT @message;
Să vedem, folosim APEL pentru a apela SP-ul nostru, atunci trecem doi parametri pe care SP Așteptam și în cele din urmă folosim o variabilă MySQL pentru a primi răspunsul, a doua linie consultăm pur și simplu această variabilă pentru a obține valoarea ei; După cum putem vedea, este destul de ușor să lucrați cu acest lucru.
Manipularea procedurii stocate
SP Este stocat în baza de date, totuși nu este legat de niciun tabel specific, așa că pentru a le accesa mai întâi mergem la vizualizarea bazei de date din phpMyAdmin, în pagina structurii vom avea o secțiune numită Rutine.
Când facem clic pe pictograma de editare, vedem că codul SP pe care ni-l arată este ceva diferit de al nostru, să vedem ce apare:
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 =" numărul de pagini este prea mare '; ELSE UPDATE book SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'succes'; ÎNCHEI DACĂ;
SP Nu le putem modifica, așa că atunci când încercăm să-l edităm, prima instrucțiune este DROP-ul SP, în acest fel îl eliminăm pentru a-l recrea, în rândurile următoare, generează și o linie în care este specificat utilizatorul specificat . este creatorul respectivului SP; odată ce modificările au fost făcute făcând clic pe Merge ne creăm SP-ul modificat și este salvat în baza de date.
Cu aceasta terminăm tutorialul, așa cum vedem Proceduri stocate Sunt destul de utile pentru stocarea blocurilor de instrucțiuni pe care le putem apela în orice moment, ceea ce ne oferă puterea subrutinelor din baza de date.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv