【问题标题】:How to set a value to a declared variable from a function call in MySQL?如何通过 MySQL 中的函数调用将值设置为声明的变量?
【发布时间】:2022-12-31 22:14:53
【问题描述】:

比方说,我想生成令牌并将其返回给用户。我声明了一个变量 new_token,并试图将一个来自过程 generate_token() 的值传递给它。 它可能不适用于过程,因为不允许在表达式中使用它们。 但它不适用于任何一种功能。

代码:

DECLARE new_token varchar(255);
SET new_token = CALL generate_token(lg);

我试图从函数调用和过程中分配给局部变量,但它们都不起作用。你能帮我吗?

【问题讨论】:

  • lg是什么?另外,如果您对代码有困难,您应该发布它。

标签: mysql function procedure


【解决方案1】:

在 MySQL 中,您可以使用 SET 语句设置变量的值。下面是一个示例,说明如何将变量 var1 的值设置为函数调用的结果:

SET @var1 = function_name(arg1, arg2, ...);

例如,如果您有一个名为 get_customer_count 的函数返回表中的客户数量,您可以将 @var1 的值设置为该函数的结果,如下所示:

SET @var1 = get_customer_count();

然后,您可以在后续查询中使用 @var1 变量,如下所示:

SELECT * FROM customers WHERE customer_id < @var1;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2018-09-18
    • 2017-12-11
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多