Re: Stored procedure - variabile per creazione tabella
Ciao Stefano
al momento sto seguendo la strada più veloce con la select insert.
Ho integrato quanto precedente scritto con la query di select e insert, ma ho un problema sul testo della where condition
BEGIN
-- declare variables
DECLARE name_table varchar(15);
DECLARE varM varchar(10);
DECLARE varFind varchar(10);
-- setting statement
SET @name_table=CONCAT(MONTHNAME(NOW() - INTERVAL 1 MONTH),YEAR(NOW()));
SET @varM = STR_TO_DATE(MONTHNAME(NOW() - INTERVAL 1 MONTH),'%M');
SET @varFind = CONCAT(YEAR(NOW()),'-',@varM);
SET @table = CONCAT('CREATE TABLE `',@name_table,'` (`TimeLog` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`Zona` varchar(22) NOT NULL,`Sensore` varchar(20) NOT NULL,`T` float NOT NULL,`U` float NOT NULL,KEY `TimeLog` (`TimeLog`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;');
SET @tableIns = CONCAT('INSERT INTO `',@name_table,'`(TimeLog,Zona,Sensore,T,U) select TimeLog,Zona,Sensore,T,U FROM TemperatureLOG_TEST where TimeLog LIKE `',@varFind,'`;');
PREPARE stmt from @table;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
PREPARE stmt from @tableIns;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
Messaggio di MySQL: #1054 - Colonna sconosciuta '2018-0000-10-00' in 'where clause'
Il formato della data è "2018-10-22 03:56:32", infatti io estraggo "2018-10", ma poi nella query non viene interpretata bene. Come posso risolvere questo problema?
Se la query la scrivo con la condizione where proprio con il valore "2018-10", ricevo questo errore:
Messaggio di MySQL: #1054 - Colonna sconosciuta '1018-10' in 'where clause'
Grazie ancora