Bonjour,

Je développe une application SMS et la grande partie se fait du côté base des données MySQL que j'utilise, mais comme c'est une première expérience avec les procédures stockées, les déclencheurs et les transactions je rencontre quelque difficultés, voici la structure d'une des tables que où je rencontre de problème :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE IF NOT EXISTS `cfco_transaction` (
  `id_transac` int(11) NOT NULL AUTO_INCREMENT,
  `cost_paid` float NOT NULL,
  `phone_number` decimal(9,0) NOT NULL,
  `money_transac` decimal(8,0) NOT NULL,
  `total_transac` double NOT NULL,
  `transac_status` tinyint(1) NOT NULL DEFAULT '0',
  `when_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id_transac`),
  UNIQUE KEY `phone_number` (`phone_number`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Je voudrais créer une procédure qui vérifie aussitôt qu'il y a un enregistrement si la ligne cost_paid, money_transac sont différents de NULL et aussi que la sommes à l'intérieur de cost_paid est supérieur ou égale à 15000 si c'est le cas il met à jour la ligne transac_status de FALSE à TRUE sinon il reste FALSE puis il renregistre une erreur dans ma table de suivi des erreurs et tentative dont voici la structure

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `cfco_ticket_errors` (
  `id_error` int(11) NOT NULL AUTO_INCREMENT,
  `error` varchar(100) NOT NULL,
  PRIMARY KEY (`id_error`),
  KEY `error` (`error`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Merci de votre assistance