การใช้ SELECT ... INTO ใน Stored Procedure
ใน Stored Procedure สามารถใช้ SELECT column INTO variable เพื่อเก็บค่าจากคอลัมน์ลงในตัวแปรท้องถิ่น (Local Variable) ที่ประกาศด้วย DECLARE
ตัวอย่าง
CREATE TABLE DemoTable2034 (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(20),
StudentAge INT
);
INSERT INTO DemoTable2034 (StudentName, StudentAge) VALUES
('Chris', 23), ('David', 21), ('Robert', 25), ('Mike', 19);
DELIMITER //
CREATE PROCEDURE select_into_variable(IN id INT)
BEGIN
DECLARE name VARCHAR(50);
SELECT StudentName INTO name
FROM DemoTable2034
WHERE StudentId = id;
SELECT CONCAT('Your Name is= ', name);
END //
DELIMITER ;
CALL select_into_variable(4);
ผลลัพธ์
| Result |
|---|
| Your Name is= Mike |
ข้อควรระวัง: SELECT ... INTO ต้องคืนค่าได้เพียง 1 แถวเท่านั้น มิฉะนั้นจะเกิด Error 1172 (Result consisted of more than one row)