MySQL uvjetni pohranjeni postupci IF - CASE

Sadržaj
AKO uvjetni pohranjeni postupci
Izradit ćemo bazu podataka i tablicu s komentarima koje korisnici daju, mogu biti članci, postovi ili što god želimo.
IZRADI TABLICU `komentari` (
`commentid` int (11) Zadana vrijednost NULL,
datum
`userid` int (50) Zadana vrijednost NULL,
tekst komentara,
PRIMARNI KLJUČ (`pojavljivanje`)
) MOTOR = ZNAČAJNA KARIZA MyISAM = latin1;
Napravit ćemo pohranjenu proceduru koja broji broj komentara koje je korisnik ostavio i vraća razinu na kojoj je taj korisnik, uzimajući kao referencu za primjer.
Stručnjak ako ste dali više od 5000 komentara
Napredna ako ste komentirali između 4999 i 1000 puta
Moderator ako ste komentirali između 999 i 500 puta
Urednik ako ste komentirali između 499 i 100 puta
Kreiramo pohranjenu proceduru i ona će imati dva parametra, od kojih će jedan unositi id ili broj korisnika čija je varijabla p_usuario, a drugi izlaz koji će biti razina s varijablom p_level.

Objašnjavamo pohranjenu proceduru koju nazivamo, pretpostavljamo da je userid = 112
Korisnička razina POZIVA (112)
Odabire i broji broj komentara za ovog korisnika i pohranjuje ga u ukupnu varijablu, tada će struktura if dodijeliti razinu varijabli p_level i ona će vratiti vrijednost.
<? // Pripremamo upit iz php -a
$ result = $ mysqli-> upit ("CALL userlevel (112)");
$ row = $ result-> fetch_assoc ();
echo 'Razina:'. $ row ['p_level']; ?> var13 ->

CASE uvjetni pohranjeni postupci
Operacija je vrlo slična prethodnoj, samo što je uvjet SLUČAJ i u ovom primjeru dobivamo troškove dostave ili nadoplate prema lokaciji klijenta.

Pretpostavit ćemo da je cityid = 2 i pohraniti pohranjenu proceduru p
POZOVI Cijena dostave (2)
<? // Pripremamo upit iz php -a
$ result = $ mysqli-> query ("POZOVITE cijenu dostave (2)");
$ row = $ result-> fetch_assoc ();
echo 'Nadoplata za otpremu'. $ row ['p_recargo']; ?> var13 ->

Također unutar mogućnosti koje pružaju uvjetne strukture, možemo koristiti strukture if ili case za izvođenje nekoliko radnji s jednim pohranjenim postupkom
Izradit ćemo, na primjer, pohranjenu proceduru za upravljanje proizvodima na koju slanjem parametra možemo odrediti koju ćemo radnju ili zadatak izvršiti.

Možemo vidjeti da u postupku proizvoda imamo parametar koji se zove p_accion, pa dodjeljujemo hoće li radnja biti spremanje novog proizvoda ili njegovo mijenjanje u bazi podataka
Primjer za umetanje novog proizvoda
<? // Pripremamo upit iz php -a
$ result = $ mysqli-> upit ("POZOVITE proizvode (10," Mobilni telefon "," 100,00 "," novo ")");
echo 'Proizvod je registriran'; ?> var13 ->

Primjer za umetanje uređivanja ili izmjene proizvoda
<? // Pripremamo upit iz php -a
$ result = $ mysqli-> upit ("POZOVITE proizvode (10," MXC3 mobilni telefon "," 120,00 "," uredi ")");
echo 'Proizvod je izmijenjen'; ?> var13 ->

Ova je metoda vrlo korisna za grupiranje zadataka poznatih kao CRUD, odnosno stvaranje, čitanje, uređivanje i brisanje podataka te obavljanje ažuriranja i pretraživanja, a sve je poredano u istoj datoteci, čime se olakšava održavanje i mogućnost skaliranja baze podataka ako je potrebno.
Osim toga, omogućuje sa stajališta funkcionalne analize da bude jasnije o poslovnim pravilima aplikacije.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod
wave wave wave wave wave