我想知道如何创建一个使用 1 个 select 语句声明 2 个变量的 MySQL 函数。 像这样的事情:
CREATE FUNCTION `inHashtagCampaign` (campaignId INT,startDateTime DATETIME,endDateTime DATETIME)
RETURNS TEXT
LANGUAGE SQL
DETERMINISTIC
BEGIN
DECLARE result TEXT;
DECLARE limit BIGINT(11);
DECLARE suspended TINYINT(1);
#
#I don't know how to do this, but I'd like to use the result of this query:
#
result = SELECT `limit`,`suspended` FROM `settings` WHERE `campaignId` = 2;
limit = result.limit;
suspended = result.suspended;
END;
我知道这个功能还远未完成,但我已经有点陷入困境了。
最佳答案
我认为你想做的是这样的
DECLARE @limit BIGINT(11);
DECLARE @suspended TINYINT(1);
SELECT @limit := `limit`, @suspended := `suspended` FROM `settings`
WHERE `campaignId` = 2;
(或)
DECLARE limit1 BIGINT(11);
DECLARE suspended1 TINYINT(1);
SELECT `limit`,`suspended` into limit1, suspended1
FROM `settings` WHERE `campaignId` = 2;
关于MySQL 函数通过一次选择声明 2 个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30556759/