Turinys
MYSQL 5, įtraukė esminius pakeitimus, kad taptų populiariausia duomenų baze ir konkuruotų su didelio našumo įmonių duomenų bazėmis.Mes pabandysime kai kuriuos sąvokos kaip peržiūros (VIEW), kaip saugomas užklausas, pagal kurias galime pateikti užklausas, tarsi jos būtų įrašų lentelės, taip pat TRIGGERIS, kurios yra tarsi procedūros, susietos su įvykiu lentelėse, saugomose funkcijose ir saugomose procedūrose.
Peržiūrėjo
Jie yra skirti palengvinti ir apriboti prieigą prie lentelės duomenų ribotiems vartotojams.
Struktūra yra statiška ir atliekama kuriant: būsimi laukai / pakeitimai lentelėse neatspindi rodinio.
Taigi, jei vaizdas turi SELECT * FROM lentelę ir jį apibrėžę pridedame lauką prie pradinės lentelės, jo nematysime rodinyje.
Jei vėliau pakeisime bet kurio lauko apibrėžimą pradinėje lentelėje, tada a klaida / įspėjimas Naudodami jį tikrai turėsite sutrumpinti reikšmes: ištrinti laukai bus perduoti Nulinis.
Vaizdo pardavėjo pardavimų peržiūros pavyzdys:
KURTI PERŽIŪRĄ Pardavimai pagal pardavėją AS SELECT sellerid SUM (kiekis*kaina) iš IŠ užsakymų GRUPĖ pagal sellerid ***** BY iš viso DESC
Trigeris
Jie yra saugomos procedūros, susietos su konkrečia lentele, vykdomos prieš aiškią operaciją arba po jos, ir kurios vykdo jų kodą kiekvienam įrašui, kuriam įtakos turi operacija. Jų negalima aiškiai nurodyti, nes jų vykdymas yra susijęs su lentele / operacija / laiku.
Jie taip pat žinomi kaip trigeriai, trigeriai ar specialios saugomos procedūros.
Pavyzdys prieš įvesdamas išpardavimą Patikrinu, ar produkto nėra sandėlyje, įterpimo įvykis automatiškai suaktyvina verstock aktyviklį.
KURTI TRIGGER verstock PRIEŠ ĮRAŠYMAS PARDAVIMUI KIEKVIENAI EILEI PRADĖTI DEKLARUOTI productid INT; JEI (productid) TAI PASIRINKITE atsargas iš produktų, kur id = productid; PABAIGA IF; GALAS;
Išsaugotos procedūros
Išsaugotos procedūros ir funkcijos yra naujos „MySQL 5.0“ versijos funkcijos.
Išsaugota procedūra yra SQL komandų rinkinys, kurį galima išsaugoti serveryje. Kai tai bus padaryta, klientams nereikia iš naujo paleisti atskirų komandų, o gali kreiptis į išsaugotą procedūrą.
KURTI PROCEDŪRĄ Išsaugoti_Pardavimas (IN salegityy INTEGER) BEGIN DECLARE type CHAR (10); IF salestype = 1 THEN SET type = Retail '; ELSE SET type = 'Didmenininkas'; PABAIGA IF; INSERT INTO sales (tipas) VERTĖS (tipas); GALAS
Tada jis iškviečiamas taip
CALL Save_sales (1)
Kitas saugomos procedūros pavyzdys
KURTI PROCEDŪRĄ ProcedūraInsert (į Vardas varchar (50), Telefono varchar (50)) BEGIN įterpti į kontaktų (vardo, telefono) reikšmes (vardas, telefonas); GALAS
funkcijos
išsaugotas funkcijas mysql Jie panašūs į saugomas procedūras: tai komandų rinkinys, kurį galima išsaugoti serveryje.
Funkcijos skirtos grąžinti parametrus, funkcijos gali būti iškviestos sql sakiniuose, tokiuose kaip select, insert ir kt. Funkcijos negali grąžinti SQL užklausų, jos naudojamos tik užduotims atlikti, kai mums reikia atlikti tam tikrą duomenų apdorojimą, skaičiavimą ar konvertavimą.
Pavyzdžiui:
CREATE FUNCTION nuolaida (kaina, FLOAT procentas) Grąžina FLOAT DETERMINISTIC BEGIN DECLARE FLOAT nuolaidos sumą; SET nuolaidos suma = kaina * procentas / 100; RETURN nuolaidos suma; PABAIGA $ $Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką