在过程中为变量赋值并返回其他列

时间:2018-03-07 02:34:38

标签: mysql stored-procedures

在MySql过程中,我想做一个单独的查询,将列的值放入变量中,并返回一行。

我的程序的简化版本包括这个(它不起作用)......

DECLARE tempid INT DEFAULT 0;

SELECT
    tempid := `id`,
    `name`
FROM `table`
WHERE `id` = 1;

尝试了其他变体,例如......

tempid = `id`,
`name`

...并使用INTO,但我无法返回其他列...

`id` INTO tempid,
`name`

如果我使用会话变量,我可以做我需要的,但是可以对过程变量做同样的事情吗?

即。这有效,但为什么我不能使用过程变量? (有点烦人,你必须重新定义列名,否则它会变成@tempid := id)...

@tempid := `id` AS `id`,
`name`

0 个答案:

没有答案