Bonjour,
J'ai la procédure suivante :
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.
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;
Je me suis certainement planté quelque part au niveau écriture du code.
Merci d'avance pour votre aide
Stéphane
Partager