PhpMyAdmin - Lagrade procedurer

Innehållsförteckning
De Lagrade procedurer är kodblock SQL som lagras i databasen och används för att utföra en rad åtgärder som går utöver de sparade frågorna som t.ex. boorkmarks, för att ringa dem gör vi det med instruktionen RINGA UPP, vi kan till och med överföra parametrar till sade Lagrade procedurer.
Skapa ett lagrat förfarande
För att kunna fortsätta med skapandet av en Lagrad procedur (SP) vi måste inledningsvis ha användarrättigheterna för SKAPA RUTIN Y ÄNDRA RUTIN, för användaren som vi kommer att använda för att skapa dem i databasen, kommer tillståndet också att behövas KÖR, även om detta automatiskt tilldelas skaparen av ett SP.
För att skapa en SP, det första vi måste göra är att gå till frågefältet, vanligtvis för att avsluta en SQL -sats använder vi semikolon (

När detta är gjort kommer vi att ange vår kod i sökrutan, låt oss se ett kodexempel:

 SKAPA FÖRFARANDE `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BÖRJA OM param_pages> 100 THEN SET param_message = 'antalet sidor är för stort'; ELSE UPDATE book SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'framgång'; SLUTA OM; SLUTET // 

Som vi kan se är det inte särskilt svårt att ta reda på vad detta gör SP, den första raden är ganska enkel, vi definierar helt enkelt input- och output -parametrarna för SP, sedan börjar vi med BÖRJA vårt block, placerar vi ett IF ELSE -villkor där vi utvärderar var och en av inmatningsparametrarna, så att vi för varje tillstånd utför en åtgärd, sedan stänger vi respektive block i vår SP med ENDIF och END och vi slutar med // vilket är vår anpassade avgränsare.
Testar det lagrade förfarandet
När de väl har definierats ska vi testa våra SP, för detta kommer vi att se ett par element som vi inte hade använt, låt oss först se koden och sedan förklaringen:
ring add_page ('1-234567-22-0', 4, @meddelande);
VÄLJ @meddelande;
Låt oss se, vi använder RINGA UPP för att ringa vår SP, då passerar vi två parametrar som SP Jag väntade och slutligen använder vi en MySQL -variabel för att få svaret, den andra raden konsulterar vi helt enkelt denna variabel för att få dess värde; Som vi kan se är det ganska enkelt att arbeta med detta.
Manipulera det lagrade förfarandet
De SP Den lagras i databasen, men den är inte knuten till någon specifik tabell, så för att komma åt dem först går vi till databasvyn i phpMyAdmin, på struktursidan har vi ett avsnitt som heter Rutiner.

När vi klickar på redigeringsikonen ser vi att SP -koden som den visar oss är något annorlunda än vår, låt oss se vad som visas:
 DROP PROCEDURE `add_page` // CREATE DEFINER =` marc` @ `%` PROCEDURE `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BÖRJA OM param_pages> 100 DAN SET param_message = ' antalet sidor är för stort '; ELSE UPDATE book SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'framgång'; SLUTA OM; 

De SP Vi kan inte ändra dem, så när vi försöker redigera det är den första instruktionen DROP av SP, på detta sätt eliminerar vi den för att återskapa den, i de efterföljande raderna genererar den också en rad där användaren som är specificerad är specificerad . är skaparen av nämnda SP; när ändringarna har gjorts genom att klicka på vi skapar vår modifierade SP och den sparas i databasen.
Med detta avslutar vi handledningen, som vi ser Lagrade procedurer De är ganska användbara för att lagra block av instruktioner som vi kan ringa när som helst, vilket ger oss kraften i underrutiner i databasen.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng
wave wave wave wave wave