Хранимая процедура с использованием переменной без результата - PullRequest
0 голосов
/ 31 марта 2020

Переменная @total в DESC LIMIT ? не работает. Если я вручную установлю DESC LIMIT 3, тогда sp работает нормально и возвращает строки. Я также попытался поместить SET total между PREPARE.

Вот хранимая процедура:

DELIMITER //

CREATE PROCEDURE getTotalNET()
BEGIN

DECLARE total INT;

SET total := (SELECT COUNT(*) as item_count FROM items WHERE hostid = '12345' and key_ LIKE '%_net%' AND STATUS = '0' );

PREPARE STMT FROM
 " SELECT DISTINCT itemid, clock, VALUE, ns FROM history_uint WHERE itemid IN (SELECT itemid FROM items WHERE hostid = '12345' and key_ LIKE '%_net%'  AND STATUS = '0' ) AND clock >= UNIX_TIMESTAMP(NOW() - INTERVAL 120 SECOND) ORDER BY clock DESC LIMIT ?";

EXECUTE STMT USING @total ;


END //

DELIMITER ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...