Sadržaj
Pohranjene procedure vrlo su korisne za inkapsulaciju operacija baze podataka i uštedu vremena za razvoj.Kad trebate održavati bazu podataka s mnogo transakcija i određenom povjerljivošću, možete imati tim programera koji izrađuje kôd ne znajući kakva je baza podataka.
Za to ćemo koristiti pohranjene procedure
Primjer
Izrađujemo bazu podataka za nekretnine i tablicu za nekretnine (koristimo nekoliko polja kako ne bismo generirali opsežan i zbunjujući kôd)
IZRADI TABLICU AKO NE POSTOJI `nekretnina` (` id` int (11) NIJE NULL AUTO_INCREMENT, `namještaj` varchar (100) Zadano '0',` cijena` decimalno (10,2) ZADANO '0,00', `opis` tekst, PRIMARNI KLJUČ (`id`)) MOTOR = MyISAM AUTO_INCREMENT = 195 ZADNJA KARTA = latin1;
Kreiram pohranjenu proceduru nova nekretnina za umetanje svojstava u bazu podataka. Prilikom definiranja dodjeljujem kao parametar podatke koje mora prihvatiti, u ovom slučaju svojstvo, cijenu i opis, svaki sa svojim mysql formatom, također pišem radnju INSERT
Zatim stvaramo obrazac za registraciju html podataka za unos vrijednosti novih svojstava.
[color = # 000000] Ovdje šaljemo podatke u datoteku save.php koja će pozvati pohranjenu proceduru i to će spremiti podatke. [/ color]
[color = # 000000] Da bismo to učinili, moramo prethodno stvoriti kôd veze s bazom podataka. [/ color]
[color = # 000000] Izrađujemo datoteku config.php [/ color]
<? php
// Niz veze baze podataka
$ link = mysql_connect ('localhost', 'korisnik', 'lozinka');
// veza s bazom podataka
if (! $ link) {
die ('Nije povezano:'. mysql_error ());
}
// Odabir baze podataka
$ db = 'dbInmobiliaria';
if (! mysql_select_db ($ db)) {
die ('Pogreška:'. mysql_error ());
}?> var13 ->
Na slici možemo vidjeti kako se pohranjena procedura poziva kroz SQL izraz POZIVCALL newinmueble (parametar1, parametar2, …)
U bazi podataka stvaramo drugu pohranjenu proceduru za ispitivanje prema vrsti svojstva.IZRADI popis namještaja za postupak (tip varchar (150))
[uvlaka = 1]SELECT * FROM property WHERE svojstvo LIKEOsim što ga koristimo u php -u, upit možemo uputiti i iz bilo kojeg softvera koji podržava sql i mysql u ovom slučaju.
Testirali smo popis svojstava pohranjene procedure prema vrsti u ovom slučaju iz softvera za upravljanje mysql Heidisql
CALL lista namještaja ('kuća')
Rezultat se može vidjeti u nastavku jer je filtriran prema vrsti svojstva.
Također možemo stvoriti pohranjenu proceduru za brisanje podataka gdje ćemo poslati id kao parametar
[color = # 000000] CREATE postupak brisanja svojstva (id svojstva INT) [/ color]
[boja = # 000000]SELECT * FROM nekretnine WHERE id = ID nekretnine[/Boja]
Zatim pohranjenu proceduru zovemo na sljedeći način
POZOVI obriši svojstvo (172)
Zanimljiva stvar u vezi s ovim je da bismo, ako bismo bili administratori baze podataka vrlo složenog sustava, programerima mogli staviti na raspolaganje samo popis procedura, a ne i strukturu baze podataka, što osigurava veću povjerljivost.
Dopuštajući im interakciju s podacima, ali ne i sa strukturom, čak i da mogu samo čitati, ali ne i mijenjati. To bi bio problem za velike sustave baza podataka s mnogo ljudi u interakciji gdje su sigurnost i povjerljivost važni.
Najpopularnije baze podataka koje podržavaju pohranjene procedure su mysql, firebird, ms sql poslužitelj, oracle, db2 postgresql, sybase (prvi je stvorio transakcijski jezik baze podataka za sql pod nazivom Transact-SQL).Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod