ใช้ DECLARE ประกาศตัวแปรภายใน BEGIN ... END ของ Stored Procedure
mysql> DELIMITER //
mysql> CREATE PROCEDURE DECLARE_VARIABLE_DEMO(IN value INT)
-> BEGIN
-> DECLARE searchValue INT;
-> SET searchValue = value;
-> IF searchValue = 10 THEN
-> SELECT searchValue + 100;
-> ELSE
-> SELECT searchValue;
-> END IF;
-> END
-> //
Query OK, 0 rows affected (0.17 sec)
mysql> DELIMITER ;
เรียก Procedure พร้อมส่งค่า 10:
mysql> CALL DECLARE_VARIABLE_DEMO(10);
+-----------------+ | searchValue+100 | +-----------------+ | 110 | +-----------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.02 sec)
กฎ DECLARE: ต้องอยู่บนสุดของ BEGIN block ก่อนคำสั่งอื่น ตัวแปรมี Scope เฉพาะใน Procedure นั้น