Sadržaj
MYSQL 5, inkorporirale su velike promjene kako bi postale najpopularnija baza podataka i natjecale se s bazama podataka velikih poduzeća.Pokušat ćemo neke koncepti kao pogledi (POGLED), kao pohranjene upite na kojima tada možemo postavljati upite kao da su tablice zapisa i također OKIDAČ, koji su poput postupaka koji su povezani s događajem u tablicama, pohranjenim funkcijama i pohranjenim procedurama.
Pogledi
Oni su definirani kako bi olakšali i ograničili pristup podacima tablice ograničenim korisnicima.
Struktura je statična i radi se u vrijeme stvaranja: buduća polja / promjene na tablicama ne odražavaju se u prikazu.
Dakle, ako pogled ima SELECT * FROM tablice i nakon što ga definiramo dodamo polje izvornoj tablici, nećemo ga vidjeti u prikazu.
Ako kasnije promijenimo definiciju bilo kojeg polja u izvornoj tablici tada a greška / upozorenje Kada ga koristite, zasigurno ćete morati skraćivati vrijednosti: izbrisana polja bit će proslijeđena Null.
Primjer prikaza za prikaz prodaje po prodavaču:
NAPRAVI PREGLED Prodaja od strane prodavatelja KAO ODABIR prodavača ZBIR (količina*cijena) ukupno OD GRUPA narudžbi prema prodavatelju ***** PO ukupnom DESC -u
Okidač
To su pohranjene procedure povezane s određenom tablicom koje se izvode prije ili nakon eksplicitne transakcije i koje izvršavaju njihov kôd za svaki zapis na koji transakcija utječe. Ne mogu se izričito pozvati jer je njihovo izvršavanje povezano s tablicom / transakcijom / vremenom.
Oni su također poznati kao okidači, okidači ili posebne pohranjene procedure.
Primjer prije umetanja rasprodaje provjeravam je li proizvod dostupan na skladištu, događaj umetanja automatski pokreće okidač verstock.
CREATE TRIGGER verstock PRIJE USTAVLJANJA U PRODAJU ZA SVAKI RED POČNITE OGLASITI productid INT; AKO (productid) ONDA ODABERITE zalihe OD proizvoda gdje je id = productid; ZAVRŠI AKO; KRAJ;
Pohranjeni postupci
Pohranjene procedure i funkcije nove su značajke u izdanju MySQL 5.0.
Pohranjena procedura je skup SQL naredbi koje se mogu pohraniti na poslužitelju. Nakon što to učine, klijenti ne moraju ponovno pokrenuti pojedinačne naredbe, već se umjesto toga mogu pozivati na pohranjenu proceduru.
CREATE PROCEDURE Save_Sale (IN salestype INTEGER) POČNITE PROGLASITI tip CHAR (10); AKO je salestype = 1 THEN SET type = Retail '; ELSE SET type = 'Veleprodaja'; ZAVRŠI AKO; INSERT INTO sales (type) VRIJEDNOSTI (type); KRAJ
Zatim se poziva na sljedeći način
POZOVITE Spremi_prodaju (1)
Još jedan primjer pohranjene procedure
CREATE POSTUPAK ProcedureInsert (u Naziv varchar (50), U Telefon varchar (50)) POČNITE umetnuti u kontakte (ime, telefon) vrijednosti (Ime, Telefon); KRAJ
Značajke
pohranjene funkcije mysql Oni su slični pohranjenim procedurama: oni su skup naredbi koje se mogu pohraniti na poslužitelju.
Funkcije imaju namjeru vratiti parametre, funkcije se mogu pozvati unutar sql izraza kao što su odabir, umetanje itd. Funkcije ne mogu vratiti sql upite, one služe samo za izvršavanje zadataka gdje moramo izvršiti neku obradu podataka, izračun ili pretvorbu.
Na primjer:
CREATE FUNCTION popust (cijena, postotak FLOAT -a) POVRAT LETA DETERMINISTIČKI POČINJE OGLASITI FLOAT iznos popusta; SET iznos popusta = cijena * postotak / 100; POVRATNI iznos popusta; KRAJ $$Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod