MySQL 存儲過程很方便地實現了從數據庫中查詢數據并賦值給變量的操作。下面我們來看一下具體實現方法。
DELIMITER $$ CREATE PROCEDURE get_user_info(IN uid INT, OUT uname VARCHAR(50), OUT uage INT) BEGIN SELECT name, age FROM user WHERE id = uid; SET uname = (SELECT name FROM user WHERE id = uid); SET uage = (SELECT age FROM user WHERE id = uid); END $$ DELIMITER ;
上面代碼中,我們創建了一個名為 get_user_info 的存儲過程,該過程接收一個參數 uid,它是用戶的 ID,同時將查詢到的用戶名和年齡賦值給了變量 uname 和 uage。
首先我們通過SELECT語句查詢出了該用戶的信息,然后使用兩個SET賦值語句將查詢結果賦值給了我們之前定義好的變量 uname 和 uage。
此時我們可以使用CALL語句來執行這個存儲過程,并將用戶的 ID 傳遞給它,代碼如下:
CALL get_user_info(5, @name, @age); SELECT @name, @age;
這里我們將用戶 ID 設置為 5,同時使用兩個變量 @name 和 @age 來接收存儲過程中查詢出的用戶名和年齡。最后我們使用SELECT語句輸出這兩個變量的值。
以上就是 MySQL 存儲過程查詢并賦值給變量的簡單介紹。祝大家編寫存儲過程愉快。