Wednesday, August 21, 2019

MySQL: stored procedure (SP)

DELIMITER $$

DROP PROCEDURE IF EXISTS spFoo $$
CREATE PROCEDURE spFoo ()
BEGIN
SELECT 'x' FROM xxx;
END $$

DELIMITER ;

===========================================
參數可以是IN, OUT, INOUT
===========================================

DELIMITER $$
DROP PROCEDURE IF EXISTS CountOrderByStatus$$CREATE PROCEDURE CountOrderByStatus(
 IN orderStatus VARCHAR(25),
 OUT total INT)
BEGIN
 SELECT count(orderNumber)
 INTO total
 FROM orders
 WHERE status = orderStatus;
END$$
DELIMITER ;

===========================================
獲得參數
===========================================

CALL CountOrderByStatus('Shipped',@total);
SELECT @total;

No comments: