gpt4 book ai didi

mysql - 如何获取和分配MySQL存储过程的返回值

转载 作者:行者123 更新时间:2023-11-29 01:17:05 25 4
gpt4 key购买 nike

我有下一个存储过程:

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `getUserIdByLogin`(userId VARCHAR(255))
BEGIN
SELECT id FROM `userdata` WHERE login = userId;
END

我想为例如声明一个新变量 @tmp并对此做一些事情:

SET @tmpValue = CALL getUserIdByLogin("someLogin");

但它不起作用。

如果只是调用:

CALL getUserIdByLogin("someLogin");

然后我会看到结果,但我需要在变量(数组类型)中声明结果。

我该怎么做?

谢谢!

最佳答案

CREATE DEFINER=`root`@`localhost` PROCEDURE `getUserIdByLogin`(
userId VARCHAR(255),
OUT idout int
)
BEGIN
SELECT id INTO idout FROM `userdata` WHERE login = userId;
END

然后

SET @id = 0;
CALL getUserIdByLogin("someLogin", @id);
SELECT @id;

关于mysql - 如何获取和分配MySQL存储过程的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17364842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com