sql >> Databáze >  >> RDS >> Mysql

Jak vytvořit uloženou proceduru v MySQL

Uložená procedura umožňuje ukládat a volat dotazy SQL, takže je nemusíte přepisovat nebo upravovat, pokud je potřebujete použít vícekrát. Zde je návod, jak vytvořit uloženou proceduru v MySQL.

Co je uložená procedura v MySQL?

Uložená procedura je způsob, jak uložit dotazy SQL jako funkce podprogramu v MySQL, které můžete v případě potřeby později vyvolat. Má název, seznam parametrů a příkazy SQL. Je to skvělá volba, pokud potřebujete spustit stejný SQL dotaz vícekrát, bez jakýchkoli úprav nebo s drobnými úpravami.

Bonusové čtení:Jak vytvořit nového uživatele v MySQL

Jak vytvořit uloženou proceduru v MySQL

Zde jsou kroky k vytvoření uložené procedury v MySQL pomocí příkazu MySQL CREATE PROCEDURE.

Zde je syntaxe pro vytvoření uložené procedury v MySQL.

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

Ve výše uvedeném dotazu název_procedury je název uložené procedury potřebné k jejímu pozdějšímu volání. volitelný_seznam_argumentů je seznam argumentů, které obvykle předáváte jakékoli funkci.

sql_query je dotaz SQL, který se má provést při volání uložené procedury. Seznam argumentů lze použít v dotazu SQL, aby byl dynamický.

Bonusové čtení:Jak vytvořit databázi v MySQL

Zde je jednoduchý SQL dotaz, který vrátí všechny záznamy z objednávek tabulka.

mysql> select * from orders;

Zde je výše uvedený dotaz SQL zabalený do uložené procedury get_orders

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

Ve výše uvedeném dotazu jsme nedefinovali žádné parametry pro naši uloženou proceduru.

Bonusové čtení:Jak přidat cizí klíč do MySQL

K volání uloženého_procedury musíte použít příkaz CALL. Zde je syntaxe pro volání uložené procedury.

CALL procedure_name(list of arguments);

Zde je návod, jak volat uloženou proceduru v 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 |
+----+--------------+------------+-------+-------------+---------------------+

Doufejme, že nyní můžete vytvořit uloženou proceduru v MySQL.

Bonusové čtení:Jak vytvořit uloženou proceduru s parametrem v MySQL

Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!

  1. Kolik uživatelů má přístup k podpoře?

  2. Proč při navazování připojení k serveru SQL došlo k chybě související se sítí nebo specifickou instancí?

  3. Role DBA v NoSQL

  4. Prevence útoků SQL Injection pomocí Pythonu