Bonjour,
J'ai la procédure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
CREATE PROCEDURE BackupSyslogData()
BEGIN
    DECLARE v_table_name CHAR(14);
    DECLARE v_date CHAR(8);
    SET v_table_name = CONCAT('syslog_', DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y_%m'));
    SET v_date = CONCAT(DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m'), '%');
 
    CREATE TABLE v_table_name
    SELECT *
    FROM syslog
    WHERE datetime LIKE v_date;
END;
Elle fonctionne presque à part que la table ainsi créée se nomme v_table_name, ce qui est normal me direz vous car je ne vois pas du tout comment faire prendre en compte le contenu de cette variable.
Je me suis certainement planté quelque part au niveau écriture du code.
Merci d'avance pour votre aide

Stéphane