1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| delimiter //
DROP PROCEDURE IF EXISTS maj_desc_test//
CREATE PROCEDURE maj_desc_test ()
BEGIN
DECLARE no_more_posts int;
DECLARE v_count int;
DECLARE v_temp longtext;
DECLARE v_aioseop_description longtext;
DECLARE v_aioseop_title longtext;
DECLARE v_ville longtext;
DECLARE v_metier longtext;
DECLARE v_post_id bigint(20);
DECLARE v_meta_value longtext;
DECLARE c_f CURSOR FOR SELECT post_id, meta_value FROM `wp_postmeta` WHERE `meta_key` LIKE '_aioseop_description' AND meta_value LIKE 'Pr' for update;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_posts=1;
SET no_more_posts=0;
Select 'START \n';
open c_f;
post_loop:WHILE(no_more_posts=0) DO
fetch c_f into v_post_id, v_meta_value;
SET v_count := 0;
SET v_count := v_count + 1;
/*recherche des valeurs*/
SELECT `meta_value` FROM `wp_postmeta` WHERE `meta_key` LIKE '_aioseop_title' AND `post_id` = v_post_id INTO v_aioseop_title;
SELECT `meta_value` FROM `wp_postmeta` WHERE `meta_key` LIKE 'ville' AND `post_id` = v_post_id INTO v_ville;
SELECT `meta_value` FROM `wp_postmeta` WHERE `meta_key` LIKE 'metier' AND `post_id` = v_post_id INTO v_metier;
/*update de la description*/
SET v_temp := CONCAT("Présentation de ",v_aioseop_title,", ",v_metier," de la ville ",v_ville);
If v_temp IS NOT NULL Then
update `wp_postmeta` set `meta_value`= v_temp WHERE `post_id` = v_post_id AND `meta_key` LIKE '_aioseop_description';
SELECT CONCAT('N°',v_count,' : ',v_temp,'\n');
ELSE
SELECT CONCAT("Erreur sur Post N°",v_post_id);
End IF;
IF no_more_posts THEN
select "sortie de boucle";
LEAVE post_loop;
END IF;
END WHILE post_loop;
close c_f;
SET no_more_posts=0;
Select 'STOP \n';
end//
DELIMITER ; |
Partager