MySQL nosacītās glabāšanas procedūras IF - CASE

Satura rādītājs
IF nosacīti uzglabātas procedūras
Mēs izveidosim datu bāzi un tabulu ar lietotāju komentāriem, tie var būt raksti, ieraksti vai kādi mēs vēlamies.
IZVEIDOT TABULU "komentāri" (
`commentid` int (11) DEFAULT NULL,
"date" date DEFAULT NULL,
`userid` int (50) DEFAULT NULL,
"komentāru" teksts,
PRIMĀRĀ ATSLĒGA ("notikums")
) DZINĒJS = MyISAM DEFAULT CHARSET = latīņu1;
Mēs izveidosim saglabātu procedūru, kas saskaitīs lietotāja atstāto komentāru skaitu un atgriezīs līmeni, kādā šis lietotājs ir, ņemot par piemēru piemēru.
Eksperts ja esat pievienojis vairāk nekā 5000 komentāru
Uzlabots ja esat komentējis no 4999 līdz 1000 reizēm
Moderators ja esat komentējis no 999 līdz 500 reizēm
Redaktors ja esat komentējis no 499 līdz 100 reizēm
Mēs izveidojam saglabāto procedūru, un tai būs divi parametri, no kuriem viens tiks ievadīts tā lietotāja ID vai numurs, kura mainīgais ir p_usuario, un cits izvads, kas būs līmenis ar mainīgo p_level.

Mēs izskaidrojam saglabāto procedūru, ko mēs to saucam, pieņemam, ka userid = 112
CALL lietotāja līmenis (112)
Tas atlasa un saskaita šī lietotāja komentāru skaitu un saglabā to kopējā mainīgajā, tad struktūra if piešķirs līmeni mainīgajam p_level un atgriezīs vērtību.
<? // Mēs sagatavojam vaicājumu no php
$ result = $ mysqli-> query ("CALL userlevel (112)");
$ rinda = $ rezultāts-> fetch_assoc ();
echo 'Līmenis:'. $ row ['p_level']; ?> var13 ->

CASE nosacītu uzglabāšanas procedūras
Darbība ir ļoti līdzīga iepriekšējai, tikai nosacījums ir CASE un šajā piemērā mēs saņemam piegādes izmaksas vai piemaksu atbilstoši klienta atrašanās vietai.

Mēs pieņemsim cityid = 2 un izsauksim saglabāto procedūru p
CALL piegādes izmaksas (2)
<? // Mēs sagatavojam vaicājumu no php
$ result = $ mysqli-> vaicājums ("CALL piegādes izmaksas (2)");
$ rinda = $ rezultāts-> fetch_assoc ();
echo 'Piemaksa par piegādi'. $ row ['p_recargo']; ?> var13 ->

Arī nosacījumu struktūru piedāvāto iespēju ietvaros mēs varam izmantot if vai case struktūras, lai veiktu vairākas darbības ar vienu saglabātu procedūru
Mēs izveidosim, piemēram, uzglabātu procedūru, lai pārvaldītu produktus, kuriem nosūtot parametru, mēs varam noteikt, kādu darbību vai uzdevumu mēs veiksim.

Mēs varam redzēt, ka produktu procedūrā mums ir parametrs ar nosaukumu p_accion, tāpēc mēs piešķiram, vai darbība būs jauna produkta saglabāšana vai modificēšana datu bāzē
Piemērs jauna produkta ievietošanai
<? // Mēs sagatavojam vaicājumu no php
$ result = $ mysqli-> vaicājums ("CALL produkti (10, 'Mobilais tālrunis', '100,00', 'jauns')");
echo 'Produkts ir reģistrēts'; ?> var13 ->

Piemērs produkta ievietošanai rediģēšanā vai modificēšanā
<? // Mēs sagatavojam vaicājumu no php
$ result = $ mysqli-> vaicājums ("CALL produkti (10, 'MXC3 mobilais tālrunis', '120,00', 'rediģēt')");
echo 'Produkts ir modificēts'; ?> var13 ->

Šī metode ir ļoti noderīga, lai sagrupētu uzdevumus, kas pazīstami kā CRUD, tas ir, veidojot, lasot, rediģējot un dzēšot datus, kā arī veicot atjauninājumus un meklēšanu, kas visi ir sakārtoti vienā failā, tādējādi atvieglojot apkopi un nepieciešamības gadījumā palielinot datu bāzes mērogu.
Turklāt tas ļauj no funkcionālās analīzes viedokļa skaidrāk saprast lietojumprogrammas uzņēmējdarbības noteikumus.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave