Lagret procedure giver dig mulighed for at gemme og kalde SQL-forespørgsler, så du ikke behøver at omskrive eller ændre forespørgsler, hvis du skal bruge dem flere gange. Sådan opretter du lagret procedure i MySQL.
Hvad er lagret procedure i MySQL?
Lagret procedure er en måde at gemme SQL-forespørgsler som subrutinefunktioner i MySQL, som du kan kalde tilbage senere, når det er nødvendigt. Den har et navn, parameterliste og SQL-sætninger. Det er en fantastisk mulighed, hvis du har brug for at køre den samme SQL-forespørgsel flere gange, uden ændringer eller med mindre ændringer.
Bonus Læs:Sådan opretter du ny bruger i MySQL
Sådan opretter du Stored Procedure i MySQL
Her er trinene til at oprette en lagret procedure i MySQL ved hjælp af MySQL CREATE PROCEDURE-sætning.
Her er syntaksen til at oprette lagret procedure i MySQL.
DELIMITER // CREATE PROCEDURE procedure_name(optional_list_of_arguments) BEGIN sql_query; END // DELIMITER ;
I ovenstående forespørgsel, procedurenavn er navnet på den lagrede procedure, der kræves for at kalde den senere. valgfri_liste_over_argumenter er listen over argumenter, du typisk sender til enhver funktion.
sql_query er den SQL-forespørgsel, der skal udføres, når du kalder den lagrede procedure. Listen over argumenter kan bruges i SQL-forespørgsel til at gøre den dynamisk.
Bonus Læs:Sådan opretter du database i MySQL
Her er en simpel SQL-forespørgsel, der returnerer alle poster fra ordrer tabel.
mysql> select * from orders;
Her er ovenstående SQL-forespørgsel pakket ind i en lagret procedure get_orders
DELIMITER // CREATE PROCEDURE get_orders() BEGIN SELECT * FROM orders; END // DELIMITER ;
I ovenstående forespørgsel har vi ikke defineret nogen parametre for vores lagrede procedure.
Bonuslæser:Sådan tilføjes fremmednøgle i MySQL
Du skal bruge CALL-sætningen til at kalde en stored_procedure. Her er syntaksen til at kalde lagret procedure.
CALL procedure_name(list of arguments);
Sådan kalder du en lagret procedure i MySQL.
mysql> call get_orders(); +----+--------------+------------+-------+-------------+---------------------+ | id | product_name | order_date | price | description | created_at | +----+--------------+------------+-------+-------------+---------------------+ | 1 | A | 2020-07-01 | 150 | New product | 2020-06-01 00:00:00 | | 2 | B | 2020-07-01 | 235 | Old product | 2020-06-15 00:00:00 | +----+--------------+------------+-------+-------------+---------------------+
Forhåbentlig kan du nu oprette en lagret procedure i MySQL.
Bonus Læs:Sådan opretter du lagret procedure med parameter i MySQL
Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!