matdev62
Messages postés30Date d'inscriptionjeudi 14 mai 2009StatutMembreDernière intervention11 février 2011
-
9 oct. 2009 à 11:51
matdev62
Messages postés30Date d'inscriptionjeudi 14 mai 2009StatutMembreDernière intervention11 février 2011
-
14 oct. 2009 à 16:24
Bonjour à tous,
je connais un peu mysql que j'utilise pour mes applications php mais je ne me suis jamais servi des procédures.
Aujourd'hui, je pense que celà me serait utile pour réaliser des traitement dépuration et d'archivage de ma base.
Par exemple, j'ai une table 'clients' dont j'initialise un champ datetime 'closed' lorsque le contrat avec ce client est terminé. Est-il possible par une procédure de stocker chaque mois les lignes fermées le mois précédant dans une tables 'clients_archive' et comment ?
Merci
matdev62
Messages postés30Date d'inscriptionjeudi 14 mai 2009StatutMembreDernière intervention11 février 2011 14 oct. 2009 à 16:24
C'est bon j'ai trouvé une solution qui me permet d'archiver et d'épurer toutes les informations fermées les mois précédents
CREATE PROCEDURE `testarchivage`()
BEGIN
CREATE TABLE clients_archivage LIKE clients ;
INSERT INTO clients_archivage SELECT * FROM clients WHERE closed IS NOT null and MONTH(closed)<=MONTH(date_sub(now(),INTERVAL 1 MONTH)) AND YEAR(closed)<=YEAR(now());
DELETE FROM Clients WHERE closed IS NOT null and MONTH(closed)<=MONTH(date_sub(now(),INTERVAL 1 MONTH)) AND YEAR(closed)<=YEAR(now());
END