DB_GESTIONSTG
DB_GESTIONSTG
--stagiare table
CREATE TABLE stagiare (
cne INT PRIMARY KEY,
nom VARCHAR(255),
prenom VARCHAR(255),
datenaissance DATE,
ville VARCHAR(255),
email VARCHAR(255)
);
--stage table
CREATE TABLE stage (
id INT PRIMARY KEY,
datedebut DATE,
datefin DATE,
societe VARCHAR(255)
);
--notation table
CREATE TABLE notation (
id INT PRIMARY KEY,
idstage INT,
cne INT,
note INT,
fait VARCHAR(255),
datenotation DATE,
FOREIGN KEY (idstage) REFERENCES stage(id),
FOREIGN KEY (cne) REFERENCES stagiare(cne)
);
--lignenotation table
CREATE TABLE lignenotation (
idligne INT PRIMARY KEY,
idnotation INT,
critiere VARCHAR(255),
note INT,
FOREIGN KEY (idnotation) REFERENCES notation(id)
);
RETURN meilleur_stagiaire;
END //
DELIMITER ;
SELECT MeilleurStagiairePourPeriode('2023-01-01', '2023-12-31') AS
MeilleurStagiaire;
3)
DELIMITER //
RETURN nombre_stagiaires;
END //
DELIMITER ;
SELECT NombreStagiairesParSociete('ABC Corporation') AS NombreStagiaires;
4)
DELIMITER //
DELIMITER ;
5)
DELIMITER //
DELIMITER ;
CALL SupprimerStagiairesSansStage();
7)
8)
DELIMITER //
DELIMITER ;
9)
DELIMITER //
-- Vérifier l'âge
IF YEAR(CURDATE()) - YEAR(NEW.datenaissance) < 18 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'L''âge du stagiaire doit être d'au moins 18 ans.';
END IF;
DELIMITER ;