Sadržaj
Pohranjena procedura (Store Procedure) je mali algoritam na SQL jeziku koji je pohranjen zajedno s bazom podataka i omogućuje izvršavanje zadataka na tim podacima.Prednosti pohranjenih procedura su:
- Oni mogu pristupiti iz različitih vanjskih programa, ako je potrebno učiniti strukturu baze podataka javnom.
- Oni mogu ponovna upotreba stoga ćemo uštedjeti vrijeme ako smo već programirani i testirani.
Koristite mysql pohranjene procedure s phpmyadminom
S radom na stvaranju i upitu pohranjenih procedura počet ćemo s alatom phpmyadmin, ali svi koji podržavaju SQL upite od MYSQL 5.0 mogu se koristiti
U tom slučaju uzet ćemo bazu podataka o automobilu ili agenciji za vozila.
1) Unosimo phpmyadmin i odatle u bazu podataka
Postoje 2 vrste strojeva koji obrađuju podatke u Mysqlu
- MyISAM: zadani mehanizam, vrlo brz za upite, ne pruža integritet podataka niti referentnu zaštitu. Idealni sustavi s mnogo upita
- InnoDB: pruža referentnu zaštitu i integritet podataka, kao i zaključavanje zapisa, idealno ako se puno informacija stalno ubacuje, uređuje ili briše. Općenito, za pohranjene procedure bolje je koristiti InnoDB.
Na kartici SQL stvaramo našu prvu pohranjenu proceduru za ispitivanje tipova vozila. Napišite nam u tekstualno polje sql.
CREATE PROCEDURE advis_vehicle_type () ---> naziv postupka
SELECT * FROM vehicle_type ---> SQL za rješavanje
Izvršimo li SQL upit, primit ćemo poruku uspjeha kada se procedura kreira.
Za pregled postupaka stvorenih na kartici SQL, konzultiramo naredbu SHOW PROCEDURE STATUS, koja neće prikazati sve pohranjene procedure.
Sada ćemo pokazati kako izvršiti pohranjenu proceduru naredbom CALL ime_procedure (Svaki programski jezik ima svoju biblioteku za pristup pohranjenoj proceduri, ali svi su slični.
Ovdje možemo vidjeti rezultat izvođenja pohranjene procedure CALL pa_vehiculo_type, vratio je rezultat i nitko ne vidi koje su naredbe izvršene.
U sljedećem primjeru navest ćemo vozila, ali prema marki, postupak bi bio:
IZRADI POSTUPAK pa_vehiculos_por_brand (oznaka varchar (50))
SELECT * FROM
vozila, marke
GDJE se voziculos.brand = marks.id
I marke.brand = robna marka
Naziv postupka dodajemo varijablu kako bismo mogli tražiti primjer vozila marke Honda
Za pokretanje primjera zovemo pohranjenu proceduru na SQL kartici
POZOVITE pa_vehiculos_por_marca ("Honda")
POZOVITE pa_vehiculos_por_marca ("Ford")
Također možete koristiti pohranjene procedure za umetanje zadataka. Primjer procedure za snimanje podataka od korisnika
IZRADI POSTUPAK pa_cliente_insertar (
vname VARCHAR (64),
prezime VARCHAR (64)
)
INSERT INTO client (ime, prezime) VRIJEDNOSTI (vname, prezime);
Da bismo ga koristili, nazivamo ga kako slijedi
POZOVITE pa_cliente_insertar ('José', 'Gonzales');
Drugi bi mogao biti Provjeri broj pokrajina
IZRADI POSTUPAK `pa_provincias_cantidad` ()
SELECT COUNT (*) kao provincije IZ provincija
Za uklanjanje se koristi bilo koji postupak POSTUPAK DROP naziv_postupka
Pozivi na procedure s različitih jezika.
U PHP, pod pretpostavkom da podaci dolaze iz obrasca
$ mysqli = novi mysqli ("localhost", "root", "root");
$ mysqli-> select_db ("auto_agency");
$ mysqli-> upit ("CALL pa_client_insert ('$ first name', '$ last name')");
Sada izvršavamo postupak pohranjen u Java (kôd je skraćen)
conn = MySQL Connection.connect ("127,0,0,1", "root", "*******", "root");
CallableStatement Procedure = conn.prepareCall ("{CALL pa_customer_insert ('$ first name', '$ last name'))}");
Procedure.setString ("vname", $ name);
Procedure.setString ("prezime", $ prezime);
Procedura.execute ();
connM.commit ();
Na taj se način pokazuje da su isti postupci korišteni u različitim okruženjima i jezicima, na transparentan način za korisnika. Tema postupka opsežna je, ali svatko sa znanjem SQL -a moći će istražiti i postići velika postignuća upotrebom pohranjenih procedura, čime će moći optimizirati svoje projekte u vremenu i sigurnosti podataka.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod