MYSQL,使用单个select语句在存储过程中设置两个变量

时间:2012-03-02 21:20:02

标签: mysql variables select procedure

所以我希望它有类似的东西,或具有以下效果:

declare vFN varchar(20); 
declare vLN varchar(20);
set vFN, vLN = (select fname, lname from sometable where id = 1);

显然,我可以做2次选择,但这似乎非常低效。

TIA

4 个答案:

答案 0 :(得分:17)

你应该试试

declare vFN varchar(20); 
declare vLN varchar(20);
select fname, lname INTO vFN, vLN from sometable where id = 1;

检查http://dev.mysql.com/doc/refman/5.0/en/select-into.html以获取文档。

答案 1 :(得分:1)

有两套陈述。使用select语句设置一个,然后将第一个值复制到第二个。

declare vFN varchar(20); 
declare vLN varchar(20);
set vFN = (select fname, lname from sometable where id = 1);
set vLN = vFN;

答案 2 :(得分:1)

select vFN :=fname, vLN:=lname from sometable where id = 1

答案 3 :(得分:1)

请原谅我,如果这在MySQL中不起作用,因为我已经习惯了TSQL语法。但你应该能够做到这样的事情:

declare vFN varchar(20); 
declare vLN varchar(20);
select vFN = fname, vLN = lname from sometable where id = 1;

或者如果您需要选择使用mysql:

declare vFN varchar(20); 
declare vLN varchar(20);
select fname into vFN, lname into vLN from sometable where id = 1;