☰
✕
Главная
© 2002 - 2025
Diary.ru
Ваш старый MySQL 5.5 не умеет в JSON?
nio-kun
| пятница, 29 декабря 2017
Тогда мы идём к вам:
Тогда мы идём к вам:
DELIMITER $ CREATE DEFINER=`root`@`localhost` PROCEDURE `fillTmpTable`(IN `jS` TEXT) MODIFIES SQL DATA BEGIN DECLARE done TINYINT DEFAULT FALSE; DECLARE v_id INT(11) default 0; DECLARE m VARCHAR(20); DECLARE curs1 CURSOR FOR SELECT id, mmm FROM `tmptable`; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; DROP TABLE IF EXISTS `tmptable`; CREATE TEMPORARY TABLE `tmptable` (id INT, mmm ChAR(30), INDEX USING HASH (id)) ENGINE = MEMORY; set @count = 1; WHILE @count < 11 DO set @query2 = concat('insert into tmptable(id, mmm) values (', @count, ' , ''222'')'); PREPARE tmpQ from @query2; EXECUTE tmpQ; SET @count := @count + 1; END WHILE; SET @json = '{"data":['; OPEN curs1; my_loop: -- loops have to have an arbitrary label; it's used to leave the loop LOOP FETCH FROM curs1 INTO v_id, m; IF done THEN LEAVE my_loop; ELSE SET @json = CONCAT(@json, '{"id":', v_id, ', "mmm":', m, '},'); END IF; END LOOP; SET @json = CONCAT(TRIM(TRAILING ',' FROM @json), ']}'); SET @jS = @json; SELECT @jS; DROP TABLE IF EXISTS `tmptable`; END$ DELIMITER ;
Смотрите также
Хихикс
ФБ-2025: новая команда
Ты не ты когда голоден
Корееправда-184
Прогулка. Часть 3. Место, которого больше нет
Spencer Crandall - The Right One