Функция MySQL объявляет 2 переменные с одним выбором
Я хотел бы знать, как я могу создать функцию MySQL, которая объявляет 2 переменные, используя 1 оператор выбора. Что-то вроде этого:
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;
Я знаю, что эта функция далека от завершения, но я уже застрял на этом.
1 ответ
Решение
Я думаю, что вы пытаетесь сделать, это так
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;