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

8

所以我希望它能变成这样,或者具有以下效果:

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

显然,我可以使用2个SELECT语句,但这似乎非常低效。 tia
4个回答

17

1

有两个 SET 语句。用第一个 SET 语句选择语句并将其值复制到第二个 SET 语句中。

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

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

1

如果这在MySQL中不起作用,请原谅我,因为我习惯了TSQL语法。但是你应该能够做类似的操作:

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

或者如果你需要使用MySQL进行select into操作:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接