369 messaggi dal 08 dicembre 2006
Buonasera a tutti.
Ho creato questa stored procedure:

CREATE DEFINER=`root`@`localhost` PROCEDURE `Param_Proc`(INFromDate DATE, IN ToDate DATE)
BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS `temporanea` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `LineaID` char(5) NOT NULL DEFAULT 'FLA',
  `IDSezione` char(20) NOT NULL DEFAULT '',
  `DataStartPrg` date NOT NULL DEFAULT '0000-00-00'
  `Causa_1` varchar(255) DEFAULT NULL COMMENT 'Causale',
  PRIMARY KEY (`Id`,`ID_Prog`,`IDSezione`,`DataStartPrg`)
) ENGINE=InnoDB AUTO_INCREMENT=2092 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;

INSERT INTO temporanea(lineaID,IDSezione,DataStartPrg,Causa_1)
SELECT 
TabellaA.lineaID,TabellaA.IDSezione,TabellaA.DataStartPrg,TabellaA.Causa_1 
FROM TabellaA
UNION ALL
TabellaA.lineaID,TabellaA.IDSezione,TabellaA.DataStartPrg,TabellaA.Causa_2
FROM TabellaA

WHERE DataStartPrg BETWEEN FromDate AND ToDate;
END;


però quando la eseguo da riga di comando non mi rispetta il range di date, mi restituisce tutti i record.
Da riga di comando digito:
call Param_Proc ('2011-12-20','2011-12-30');


Grazie..
Modificato da inactive il 07 gennaio 2012 21.19 -
27 messaggi dal 15 luglio 2003
Hai provato a passare i parametri i parametri in un altro formato?
Forse dipende dalla versione del DB.

call Param_Proc ('20-12-2011','30-12-2011');

Ciao
369 messaggi dal 08 dicembre 2006
Buongiorno e grazie per la risposta.
Si dipendeva dal formato della data con cui passavo i parametri.
Grazie ancora.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.