我有一张如下表所示的表格。
CREATE TABLE People(PeopleId INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(255),
Age INT);
INSERT INTO People(Name, Age)
VALUES('Sam', 25),
('John', 24),
('Ria', 14),
('Diya', 23),
('Topel',19),
('Mac', 45);
我创建了一个程序,我将临时变量age用于某种目的。
DROP PROCEDURE IF EXISTS Sample;
CREATE PROCEDURE Sample()
BEGIN
SELECT @Age = Age
FROM People
WHERE PeopleId = 4;
SELECT *
FROM People;
END;
不要问为什么我将年龄存储在临时变量中,因为上述不是确切的程序。
当我运行该过程时,临时变量将显示为结果集之一以及我为select查询获得的结果集。如何在分配后避免将临时变量显示为结果集的一部分?
答案 0 :(得分:10)
尝试这个,
SET @Age = (SELECT Age FROM People WHERE PeopleId = 16);
或
SELECT Age INTO @Age
FROM People
WHERE PeopleId = 16;