Example 1 ตัวอย่างการแสดงค่า SELECT ออกทาง Result ของ Query
DROP PROCEDURE IF EXISTS getCustomer;
DELIMITER //
CREATE PROCEDURE getCustomer()
BEGIN
DECLARE x,y INT DEFAULT 0;
SELECT COUNT(*) INTO x FROM customer;
SELECT COUNT(*) INTO y FROM customer WHERE COUNTRY_CODE = 'US';
SELECT concat('x = ', x),concat('y = ', y);
END //
DELIMITER ;
Example 2 วิธีการสร้าง Table และ Stored Procedure ไว้สำหรับเก็บ Message Log
สร้าง Table ชื่อว่า stored_log
CREATE TABLE IF NOT EXISTS `stored_log` (
`log_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`connection_id` int(11) NOT NULL,
`message` varchar(500) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
สร้าง Table สำหรับเก็บ Log
สร้าง Stored Procedure ชื่อว่า writeLog
DROP PROCEDURE IF EXISTS writeLog;
DELIMITER //
CREATE PROCEDURE writeLog(IN sLogMsg VARCHAR(500))
BEGIN
INSERT INTO stored_log (connection_id,message) VALUES (connection_id(),sLogMsg);
END //
DELIMITER ;
DROP PROCEDURE IF EXISTS getCustomer;
DELIMITER //
CREATE PROCEDURE getCustomer()
BEGIN
DECLARE x,y INT DEFAULT 0;
CALL writeLog('Step 1');
SELECT COUNT(*) INTO x FROM customer;
CALL writeLog(concat('Step 2 x=',x));
SELECT COUNT(*) INTO y FROM customer WHERE COUNTRY_CODE = 'US';
CALL writeLog(concat('Step 3 y=',y));
END //
DELIMITER ;