Bonjour,
Je fait appel à vous car j'ai écris une procédure, et je n'arrive pas à trouver le problème. J'obtiens toujours le message :
Voici le code de ma procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PROCEDURE maj_desc () BEGIN DECLARE v_aioseop_description varchar(200)' at line 1
Merci de votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 CREATE OR REPLACE PROCEDURE maj_desc () BEGIN DECLARE v_aioseop_description varchar(200); DECLARE v_aioseop_title varchar(100); DECLARE v_ville varchar(100); DECLARE v_metier varchar(100); 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 v_post_id wp_postmeta.post_id%type; DECLARE v_meta_value wp_postmeta.meta_value%type; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; open c_f; REPEAT fetch c_f into v_post_id, v_meta_value; IF NOT done THEN /*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*/ update `wp_postmeta` set `meta_value`=" Présentation de " || v_aioseop_title || ", " || v_metier || " de la ville " || v_ville where current of c_f AND `meta_key` LIKE '_aioseop_description'; END IF; UNTIL done END REPEAT; close c_f; end; /
Partager