Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การเก็บค่าคอลัมน์ลงในตัวแปรของ Stored Procedure ใน MySQL

การใช้ 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)