PhpMyAdmin - Lagrede procedurer

Indholdsfortegnelse
Det Lagrede procedurer er kodeblokke SQL der er gemt i databasen og bruges til at udføre en række handlinger, der går ud over de gemte forespørgsler som f.eks boorkmarks, for at kalde dem gør vi det med instruktionen OPKALD, vi kan endda videregive parametre til sagde Lagrede procedurer.
Oprettelse af en lagret procedure
For at fortsætte med oprettelsen af ​​en Lagret procedure (SP) vi skal i første omgang have brugerrettighederne til Opret rutine Y ALTER ROUTINE, for brugeren, som vi vil bruge til at oprette dem i databasen, vil tilladelsen også være nødvendig UDFØR, selvom dette automatisk tildeles skaberen af ​​et SP.
For at oprette en SP, den første ting, vi skal gøre, er at gå til forespørgselsboksen, normalt for at afslutte en SQL -sætning bruger vi semikolon (

Når dette er gjort, skal vi indtaste vores kode i forespørgselsboksen, lad os se et kodeeksempel:

 Opret PROCEDURE `add_page` (I param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGYNG HVIS param_pages> 100 THEN SET param_message = 'antallet af sider er for stort'; ELSE UPDATE bog SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'succes'; AFSLUT HVIS; SLUT // 

Som vi kan se, er det ikke særlig svært at finde ud af, hvad dette gør SP, den første linje er ganske enkel, vi definerer simpelthen input- og outputparametrene for SP, så starter vi med BEGYNDE vores blok, placerer vi en IF ELSE betinget, hvor vi evaluerer hver af inputparametrene, så med hver betingelse udfører vi en handling, så lukker vi de respektive blokke i vores SP med ENDIF og END, og ​​vi ender med // som er vores brugerdefinerede afgrænser.
Test af den lagrede procedure
Når det er defineret, vil vi teste vores SP, til dette vil vi se et par elementer, som vi ikke havde brugt, lad os først se koden og derefter forklaringen:
ring til add_page ('1-234567-22-0', 4, @message);
VÆLG @besked;
Lad os se, vi bruger OPKALD for at kalde vores SP, så passerer vi to parametre, som SP Jeg ventede, og til sidst bruger vi en MySQL -variabel til at modtage svaret, den anden linje konsulterer vi simpelthen denne variabel for at få dens værdi; Som vi kan se, er det ret let at arbejde med dette.
Manipulering af den lagrede procedure
Det SP Det er gemt i databasen, men det er ikke knyttet til nogen specifik tabel, så for at få adgang til dem først går vi til databasevisningen i phpMyAdmin, på struktursiden har vi et afsnit kaldet Rutiner.

Når vi klikker på redigeringsikonet, ser vi, at den SP -kode, den viser os, er noget anderledes end vores, lad os se, hvad der vises:
 DROP PROCEDURE `add_page` // CREATE DEFINER =` marc` @ `%` PROCEDURE `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF param_pages> 100 THEN SET param_message = ' antallet af sider er for stort '; ELSE UPDATE bog SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'succes'; AFSLUT HVIS; 

Det SP Vi kan ikke ændre dem, så når vi prøver at redigere det, er den første instruktion DROP af SP, på denne måde eliminerer vi den for at genskabe den, i de efterfølgende linjer genererer den også en linje, hvor den angivne bruger er specificeret . er skaberen af ​​den nævnte SP; når ændringerne er foretaget ved at klikke på vi opretter vores modificerede SP, og det gemmes i databasen.
Med dette afslutter vi selvstudiet, som vi ser Lagrede procedurer De er ganske nyttige til at gemme blokke af instruktioner, som vi kan ringe til når som helst, hvilket giver os kraften i underrutiner i databasen.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
wave wave wave wave wave