Indholdsfortegnelse
MYSQL 5, inkorporerede store ændringer for at blive den mest populære database og konkurrere med højtydende virksomhedsdatabaser.Vi vil prøve nogle begreber som visninger (VIEW), som lagrede forespørgsler, hvorpå vi derefter kan stille forespørgsler, som om de var optegnelsestabeller og også UDLØSER, der ligner procedurer, der er forbundet med en hændelse i tabeller, lagrede funktioner og lagrede procedurer.
Visninger
De er defineret for at lette og begrænse adgangen til tabeldata til begrænsede brugere.
Strukturen er statisk og udføres på oprettelsestidspunktet: Fremtidige felter / ændringer på tabellerne afspejles ikke i visningen.
Så hvis en udsigt har en VÆLG * FRA bord og efter at have defineret det, tilføjer vi et felt til den originale tabel, vi vil ikke se det i visningen.
Hvis vi senere ændrer definitionen af et hvilket som helst felt i den originale tabel, så er a fejl / advarsel Når du bruger det, skal du helt sikkert afkorte værdier: de slettede felter bliver videregivet til Nul.
Et eksempel på en visning for at se salg efter sælger:
OPRET VIEW Salg efter sælger SOM VÆLG sælgerid SUM (mængde*pris) i alt FRA ordrer GRUPPE efter sælgerid ***** BY total DESC
Udløser
De er lagrede procedurer, der er knyttet til en bestemt tabel, der udføres før eller efter en eksplicit transaktion, og som udfører deres kode for hver post, der påvirkes af transaktionen. De kan ikke eksplicit påberåbes, fordi deres udførelse er forbundet med en tabel / transaktion / tid.
De er også kendt som udløsere, udløsere eller specielle lagrede procedurer.
Eksempel før jeg indsætter et salg Jeg kontrollerer, om produktet er tilgængeligt på lager, indsættelseshændelsen udløser verstock -udløseren automatisk.
Opret TRIGGER verstock FØR INDSÆTNING OM SALG FOR HVER RÆK BEGYNGER DECLARE productid INT; HVIS (productid) SÅ VÆLG lager på FRA produkter, hvor id = productid; AFSLUT HVIS; ENDE;
Lagrede procedurer
Lagrede procedurer og funktioner er nye funktioner i MySQL 5.0 -udgivelsen.
En lagret procedure er et sæt SQL -kommandoer, der kan gemmes på serveren. Når dette er gjort, behøver klienter ikke at genstarte individuelle kommandoer, men kan i stedet henvise til den lagrede procedure.
OPRET PROCEDURE Save_Sale (I salestype INTEGER) BEGYNG DECLARE type CHAR (10); IF salestype = 1 THEN SET type = Detail '; ELSE SET type = 'Grossist'; AFSLUT HVIS; INDFØR I SALG (type) VÆRDIER (type); ENDE
Derefter påberåbes det som følger
OPKALD Gem_salg (1)
Endnu et eksempel på en lagret procedure
OPRET PROCEDURE ProcedureInsert (i Navn varchar (50), i Telefon varchar (50)) BEGYN indsæt i kontaktværdier (navn, telefon) værdier (Navn, Telefon); ENDE
Funktioner
de gemte funktioner i mysql De ligner lagrede procedurer: de er et sæt kommandoer, der kan gemmes på en server.
Funktioner er beregnet til at returnere parametre, funktioner kan kaldes inden for sql -sætninger som vælg, indsæt osv. Funktionerne kan ikke returnere sql -forespørgsler, de tjener kun til at udføre opgaver, hvor vi skal udføre noget databehandling, beregning eller konverteringer.
For eksempel:
OPRET FUNKTION rabat (pris, FLOAT procent) RETURNER FLOAT DETERMINISTIC BEGIN DECLARE FLOAT rabatbeløb; SÆT rabatbeløb = pris * procent / 100; RETURN rabatbeløb; END $$Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt