Back to all posts

Stored Procedure in MySQL

Syntax for Creating a Stored Procedure DELIMITER // CREATE PROCEDURE procedure_name (IN param1 data_type, OUT param2 data_type) BEGIN -- SQL statements END…

Syntax for Creating a Stored Procedure

SQL
DELIMITER //
CREATE PROCEDURE procedure_name (IN param1 data_type, OUT param2 data_type)
BEGIN
   -- SQL statements
END //
DELIMITER ;

# IN specifies an input parameter.
# OUT specifies an output parameter.
# INOUT specifies both input and output parameters.
SQL
DELIMITER //
CREATE PROCEDURE GetAllEmployees()
BEGIN
   SELECT * FROM employees;
END //
DELIMITER ;

# To call this stored procedure, you would use:

CALL GetAllEmployees();

Stored Procedure with Parameters

SQL
USE `world`;
DROP procedure IF EXISTS `world`.`CalculateTotal`;

DELIMITER $$
USE `world`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `CalculateTotal`(
    IN price 		DECIMAL(10, 2), 
    IN quantity 	INT,
    OUT Output1 	Decimal(10,2), 
    OUT Output2 	Decimal(10,2)
)
BEGIN
    DECLARE total DECIMAL(10, 2);
    SET  Output2 =  price * quantity;
    SELECT  price * quantity into Output1;
END$$

DELIMITER;
SQL
set @Output1 = 0;
set @Output2 = 0;
call world.CalculateTotal(10, 20, @Output1, @Output2);
select @Output1, @Output2;

Keep building your data skillset

Explore more SQL, Python, analytics, and engineering tutorials.