MySQL MariaDB

Opgeslagen procedures maken in MySQL

Opgeslagen procedures maken in MySQL
Opgeslagen procedures zijn een door de gebruiker gedefinieerde lijst van vooraf gecompileerde SQL-instructies die op aanvraag worden bewaard en gebruikt in een MySQL-databank om een ​​specifiek databaseproces uit te voeren. Dit houdt in dat het waarschijnlijk is om het script helemaal opnieuw te gebruiken. Een procedure heeft een titel, een set parameters en een statement van SQL(s), zodat de opgeslagen procedure kan werken op basis van de waarde(n) van de overgedragen parameter. De opgeslagen procedures moeten worden uitgevoerd met behulp van de CALL-zin. Laten we in deze handleiding beetje bij beetje het proces verkennen van het genereren van nieuwe opgeslagen procedures binnen de MySQL CREATE PROCEDURE-clausule. Dus laten we beginnen.

Opgeslagen procedure maken via Workbench:

Open de nieuw geïnstalleerde MySQL Workbench 8.0 en verbind het met de root localhost-database.

In de Workbench bevindt zich een Navigator-balk. Onder deze Navigator-balk bevinden zich een aantal verschillende functies van MySQL. Het bevat een lijst met databases, tabellen, opgeslagen procedures en nog veel meer, zoals u kunt zien in de afbeelding.

Wanneer u de optie 'Tabellen' verkent, vindt u een lijst met tabellen in een rasterweergave. Zoals hieronder weergegeven, hebben we een tabel 'sociaal'.

Klik met de rechtermuisknop op de optie 'Opgeslagen procedure' en klik op de optie 'Opgeslagen procedure maken' zoals weergegeven in de afbeelding.

Er wordt een nieuw venster geopend, zoals te zien is op de onderstaande foto. U kunt de naam van de opgeslagen procedure in het querygebied wijzigen door de waarde tussen aanhalingstekens te verwijderen.

Nu kunt u deze zoekopdracht naar wens bewerken edit. We noemen de opgeslagen procedure 'detail' terwijl we de gegevens uit een tabel 'social' halen waar de waarde in de kolom 'Website' gelijk is aan 'Instagram.' Dit betekent dat de winkelprocedure bij uitvoering alleen die records uit deze tabel toont waar de 'website' 'Instagram' is.' Klik op de knop Toepassen.

U krijgt een voorbeeldscherm waar u uw zoekopdracht indien nodig kunt wijzigen of aanpassen. U kunt een volledige syntaxis van de nieuw gemaakte Opgeslagen procedure zien via de Workbench. Klik op de knop Toepassen om het uit te voeren.

Als de zoekopdracht geen fouten bevat, werkt deze correct zoals hieronder wordt weergegeven:. Tik op de knop Voltooien.

Wanneer u naar de optie voor opgeslagen procedures kijkt en deze vernieuwt, ziet u een nieuw gemaakte procedure.

Wanneer u deze procedure uitvoert, ziet u dat de enige records met de kolomwaarde 'Website' 'Instagram' zijn, zoals hieronder.

Creëer opgeslagen procedure via Command-Line Shell:

Open de opdrachtregelclientshell van MySQL 8.0 en voer hieronder het wachtwoord van MySQL in.

Stel dat we een tabel hebben met de naam 'record' in het databaseschema 'data'. Laten we de records ervan controleren met behulp van de SELECT-opdracht als volgt:

>> KIES * UIT gegevens.Vermelding;

Gebruik de opdracht 'gegevens gebruiken' om de database te gebruiken waaraan u de opgeslagen procedure wilt toevoegen.

>> gegevens gebruiken;

Voorbeeld 01: Opgeslagen procedure zonder parameters

Om een ​​procedure zonder parameter te maken, moet u deze maken met een CREATE PROCEDURE-opdracht voorafgegaan door het trefwoord 'DELIMITER'. Vervolgens maken we een procedure met de naam 'Filter' zonder parameters. Het haalt alle records op uit de tabel 'record' waar de kolom 'Land' 'ia' heeft aan het einde van zijn waarden. Het proces moet worden beëindigd met het trefwoord 'END'.

We zullen de CALL-clausule gebruiken om de opgeslagen procedure in de opdrachtregel uit te voeren. Bij het uitvoeren van de opdracht CALL hebben we de onderstaande resultaten:. U kunt zien dat de query alleen die records hoeft op te halen waar de kolom 'Land' 'ia' heeft aan het einde van de waarden.

Voorbeeld 02: Opgeslagen procedure met enkele parameter

Het is hoog tijd om een ​​procedure te genereren met een enkele parameter. Gebruik hiervoor de CREATE PROCEDURE-query met het trefwoord 'DELIMITER'.' Dus we moeten een procedure 'Rec' maken die één waarde als invoerargument aanneemt, waarin in dit voorbeeld de variabele 'Var1' door een gebruiker in zijn parameters is. Begin de procedure met het trefwoord 'BEGIN'. De SELECT-instructie wordt gebruikt om alle records op te halen uit de tabel 'record' waar de kolom 'Naam' dezelfde waarde heeft als in 'Var1'. Dit is een matching van records. Beëindig de opgeslagen procedure met het trefwoord 'END' gevolgd door '&&'-tekens.

'

Voer eerst de DELIMITER-query uit om de opgeslagen procedure voor te bereiden. Voer daarna de CALL-query uit gevolgd door de procedurenaam en de invoerargumentwaarde tussen accolades. U hoeft alleen de hieronder getoonde opdracht uit te voeren en u krijgt de resultaten. Zoals we hebben opgegeven, 'Zafar' in onze parameters, daarom hebben we na de vergelijking dit resultaat.

Voorbeeld 03: Opgeslagen procedure met meerdere parameters

Laten we eens kijken hoe de procedure werkt wanneer deze is voorzien van meerdere parameters. Vergeet niet het trefwoord 'DELIMITER' samen met de '&&'-tekens te gebruiken. Gebruik de opdracht CREATE PROCEDURE om een ​​procedure 'Nieuw' te maken. Deze procedure neemt twee argumenten in zijn parameters e.g. 'var1' en 'var2'. Begin de procedure met de BEGIN-clausule. Nu is het iets nieuws. De SELECT-component haalt opnieuw alle records uit de tabel 'record'. Het eerste argument dat door een gebruiker wordt doorgegeven, komt overeen met de waarden van de kolom 'Naam'. Aan de andere kant wordt het tweede argument dat door een gebruiker wordt doorgegeven, gekoppeld aan de kolom 'Land'-waarden. Als de records overeenkomen, worden alle gegevens uit opeenvolgende rijen opgehaald. De procedure wordt afgesloten met het trefwoord 'END'.

Gebruik het trefwoord DELIMITER om de procedure te activeren. Voer daarna de CALL-component uit gevolgd door de naam van de opgeslagen procedure, die 'Nieuw' is, samen met de parameterwaarden. Het is duidelijk uit de onderstaande afbeelding dat de query alleen het record van tabel 'record' zal ophalen waar beide waarden die door de gebruiker zijn ingevoerd overeenkomen.

Conclusie:

In deze handleiding hebt u geleerd over de verschillende manieren om een ​​opgeslagen procedure te maken in MySQL Workbench en MySQL-opdrachtregelclientshell.g., Opgeslagen procedure met en zonder parameters.

Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...
Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...