sql >> Database >  >> RDS >> Mysql

Hoe een opgeslagen procedure in MySQL te maken

Met de opgeslagen procedure kunt u SQL-query's opslaan en oproepen, zodat u query's niet hoeft te herschrijven of wijzigen als u ze meerdere keren moet gebruiken. Hier leest u hoe u een opgeslagen procedure in MySQL maakt.

Wat is een opgeslagen procedure in MySQL?

Opgeslagen procedure is een manier om SQL-query's op te slaan als subroutinefuncties in MySQL, die u later, indien nodig, kunt terugroepen. Het heeft een naam, parameterlijst en SQL-instructies. Het is een geweldige optie als u dezelfde SQL-query meerdere keren moet uitvoeren, zonder enige wijziging of met kleine wijzigingen.

Bonus Lezen:Hoe maak je een nieuwe gebruiker aan in MySQL

Hoe een opgeslagen procedure in MySQL aan te maken

Hier zijn de stappen om een ​​opgeslagen procedure in MySQL te maken met behulp van de MySQL CREATE PROCEDURE-instructie.

Hier is de syntaxis om een ​​opgeslagen procedure in MySQL te maken.

DELIMITER //
CREATE PROCEDURE procedure_name(optional_list_of_arguments)
BEGIN
	sql_query;
END //
DELIMITER ;

In de bovenstaande zoekopdracht, procedure_name is de naam van de opgeslagen procedure die nodig is om deze later aan te roepen. optionele_list_of_arguments is de lijst met argumenten die u gewoonlijk aan een functie doorgeeft.

sql_query is de SQL-query die moet worden uitgevoerd wanneer u de opgeslagen procedure aanroept. De lijst met argumenten kan worden gebruikt in SQL-query's om deze dynamisch te maken.

Bonus Lezen:Database maken in MySQL

Hier is een eenvoudige SQL-query die alle records van orders retourneert tafel.

mysql> select * from orders;

Hier is de bovenstaande SQL-query verpakt in een opgeslagen procedure get_orders

DELIMITER //
CREATE PROCEDURE get_orders()
BEGIN
	SELECT *  FROM orders;
END //
DELIMITER ;

In de bovenstaande vraag hebben we geen parameters gedefinieerd voor onze opgeslagen procedure.

Bonus Lezen:Hoe u een externe sleutel in MySQL kunt toevoegen

U moet de CALL-instructie gebruiken om een ​​opgeslagen_procedure aan te roepen. Hier is de syntaxis om de opgeslagen procedure aan te roepen.

CALL procedure_name(list of arguments);

Zo roept u een opgeslagen procedure op in 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 |
+----+--------------+------------+-------+-------------+---------------------+

Hopelijk kun je nu een opgeslagen procedure maken in MySQL.

Bonus lezen:Opgeslagen procedure maken met parameter in MySQL

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. De stapel samenstellen - Docker-implementatie van MySQL-containers vereenvoudigen

  2. SQL tussen niet inclusief

  3. Analyse van MS SQL Server voor degenen die het voor het eerst zien

  4. MySQL 'Order By' - alfanumeriek correct sorteren