Procedure SQL to update table
Bonjour,
Je cherche à créer une procédure/requête sous MySQL, qui permette de générer un code à partir des champs date de naissance et codesexe.
Par exemple, j'ai la table Personne:
Personne(id, datenaiss, codesexe, codeunique);
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| CREATE TABLE IF NOT EXISTS `personne` (
`id` int(11) DEFAULT NULL,
`datenaiss` date DEFAULT NULL,
`codesexe` int(11) DEFAULT NULL,
`codeunique` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `personne` (`id`, `datenaiss`, `codesexe`, `codeunique`) VALUES
(1, '2000-05-18', 1, ''),
(2, '2000-05-18', 1, ''),
(3, '2003-10-05', 0, ''),
(4, '2003-10-05', 1, ''),
(5, '2003-10-05', 0, ''); |
le codeunique est composé par année de la date de naissance suivie de codesexe puis 6 chiffres incrémentés automatiquement.
J'ai créé cette requête:
Code:
1 2 3 4
| UPDATE Personne SET codeunique=CONCAT(
YEAR(datenaiss),
codesexe,
RPAD(codeunique,10,'0')); |
Mais l'incrémentation automatique ne marche pas.
On doit obtenir un résultat comme suit:
http://s2.postimg.org/efbkx35xl/codeunique.png
Merci de m'aider