Mysql
 sql >> Database >  >> RDS >> Mysql

Come creare stored procedure in MySQL

La stored procedure consente di salvare e chiamare query SQL, quindi non è necessario riscrivere o modificare le query se è necessario utilizzarle più volte. Ecco come creare una stored procedure in MySQL.

Cos'è la stored procedure in MySQL?

La stored procedure è un modo per salvare le query SQL come funzioni di subroutine in MySQL, che puoi richiamare in seguito, quando necessario. Ha un nome, un elenco di parametri e istruzioni SQL. È un'ottima opzione se devi eseguire la stessa query SQL più volte, senza alcuna modifica o con modifiche minori.

Bonus Leggi:Come creare un nuovo utente in MySQL

Come creare stored procedure in MySQL

Di seguito sono riportati i passaggi per creare una stored procedure in MySQL utilizzando l'istruzione MySQL CREATE PROCEDURE.

Ecco la sintassi per creare una stored procedure in MySQL.

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

Nella query precedente, nome_procedura è il nome della procedura memorizzata richiesta per richiamarla in seguito. elenco_di_argomenti opzionali è l'elenco di argomenti che in genere passi a qualsiasi funzione.

query_sql è la query SQL da eseguire quando si chiama la stored procedure. L'elenco di argomenti può essere utilizzato nella query SQL per renderlo dinamico.

Bonus Leggi:Come creare database in MySQL

Ecco una semplice query SQL che restituisce tutti i record da ordini tabella.

mysql> select * from orders;

Ecco la query SQL precedente racchiusa in una stored procedure get_orders

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

Nella query precedente, non abbiamo definito alcun parametro per la nostra procedura memorizzata.

Bonus Leggi:Come aggiungere una chiave esterna in MySQL

È necessario utilizzare l'istruzione CALL per chiamare una stored_procedure. Ecco la sintassi per chiamare la stored procedure.

CALL procedure_name(list of arguments);

Ecco come chiamare una stored procedure 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 |
+----+--------------+------------+-------+-------------+---------------------+

Si spera che ora sia possibile creare una stored procedure in MySQL.

Bonus Leggi:Come creare stored procedure con parametro in MySQL

Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!