1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| DROP SCHEMA IF EXISTS `Test` ;
CREATE SCHEMA IF NOT EXISTS `Test` DEFAULT CHARACTER SET utf8 ;
USE `Test`;
-- -----------------------------------------------------
-- Table `Test`.`Seasons`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Test`.`Seasons` ;
CREATE TABLE IF NOT EXISTS `Test`.`Seasons` (
`id` INT NOT NULL AUTO_INCREMENT ,
`libelle` VARCHAR(45) NOT NULL ,
`currentPhase` TINYINT(1) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `Test`.`TeamDivisions`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Test`.`TeamDivisions` ;
CREATE TABLE IF NOT EXISTS `Test`.`TeamDivisions` (
`id` INT NOT NULL AUTO_INCREMENT ,
`libelle` VARCHAR(45) NOT NULL ,
`position` INT NOT NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Test`.`Players`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Test`.`Players` ;
CREATE TABLE IF NOT EXISTS `Test`.`Players` (
`numLicence` INT NOT NULL AUTO_INCREMENT ,
`gender` VARCHAR(1) NOT NULL ,
`nationalRank` SMALLINT NULL ,
`rank` SMALLINT NULL ,
`mutation` DATE NULL DEFAULT NULL ,
`publicInfo` TINYINT(1) NOT NULL DEFAULT 1 ,
`category` INT NOT NULL DEFAULT 0 ,
`season` INT NOT NULL ,
`phase` INT NOT NULL ,
`team` INT NULL DEFAULT NULL ,
PRIMARY KEY (`numLicence`, `season`, `phase`) ,
INDEX `fk_Players_1` (`category` ASC) ,
INDEX `fk_Players_2` (`team` ASC) ,
INDEX `fk_Players_3` (`season` ASC) ,
CONSTRAINT `fk_Players_3`
FOREIGN KEY (`season` )
REFERENCES `Test`.`Seasons` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
-- -----------------------------------------------------
-- Table `Test`.`Points`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Test`.`Points` ;
CREATE TABLE IF NOT EXISTS `Test`.`Points` (
`numLicence` INT NOT NULL ,
`resultDate` DATE NOT NULL ,
`points` SMALLINT NOT NULL ,
`delta` SMALLINT NULL ,
`season` INT NOT NULL ,
`isOfficial` TINYINT(1) NOT NULL ,
PRIMARY KEY (`numLicence`, `resultDate`) ,
INDEX `fk_Points_1` (`numLicence` ASC) ,
INDEX `fk_Points_2` (`season` ASC) ,
CONSTRAINT `fk_Points_1`
FOREIGN KEY (`numLicence` )
REFERENCES `Test`.`Players` (`numLicence` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Points_2`
FOREIGN KEY (`season` )
REFERENCES `Test`.`Seasons` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
INSERT INTO `Seasons` VALUES(1,'2002/2003',0),
(2,'2003/2004',0),
(3,'2004/2005',0),
(4,'2005/2006',0),
(5,'2006/2007',0),
(6,'2007/2008',0),
(7,'2008/2009',0),
(8,'2009/2010',2);
INSERT INTO `Players` VALUES(2917470,'H',NULL,13,'2010-06-16',1,2,8,2,NULL);
INSERT INTO `Points` VALUES(2917470,'2002-09-01',1289,0,1,1),
(2917470,'2003-01-01', 1281, -8, 1, 1 ),
(2917470,'2003-09-01', 1365, 84, 2, 1 ),
(2917470,'2004-01-01', 1388, 23, 2, 1 ),
(2917470,'2010-01-01', 1394, 6, 8, 1 ),
(2917470,'2010-02-13', 1392, -2, 8, 0 ),
(2917470,'2010-03-18', 1398, 6, 8, 0 ),
(2917470,'2010-04-24', 1408, 10, 8, 0 ),
(2917470,'2010-05-17', 1419, 11, 8, 0 );
DELIMITER $$
DROP PROCEDURE IF EXISTS `Test`.`CalculatePlayerPointsDelta`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `CalculatePlayerPointsDelta`(IN season INTEGER,IN isOfficial TINYINT)
BEGIN
SELECT * FROM `Points`p WHERE `season` = 8 AND `isOfficial` = 0 AND `numLicence` = '2917470' ORDER BY `resultDate` ASC;
END$$
DELIMITER ; |
Partager