Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MariaDB [(none)]> use tennis ;
- Database changed
- MariaDB [tennis]>
- MariaDB [tennis]> DROP PROCEDURE IF EXISTS creer_utilisateur;
- Query OK, 0 rows affected (0.04 sec)
- MariaDB [tennis]> DELIMITER |
- MariaDB [tennis]> CREATE PROCEDURE creer_utilisateur (nomTmp VARCHAR(64),
- -> prenomTmp VARCHAR(64),
- -> statutTmp enum('organisateur', 'statisticien',/* 'joueur',*/ 'agent', 'journaliste', 'invite'),
- -> dateNaissanceTmp date,
- -> idNatTmp int,
- -> mdpTmp VARCHAR(64))
- -> BEGIN
- -> DECLARE pseudoTmp varchar(64);
- ->
- -> SELECT concat(prenomTmp, substr(nomTmp, 1, 1), MAX(id)+1)
- -> INTO pseudoTmp
- -> FROM utilisateur;
- ->
- ->
- -> INSERT INTO utilisateur(nom, prenom, pseudo, statut, dateNaissance, idNat)
- -> VALUES (nomTmp, prenomTmp, pseudoTmp, statutTmp, dateNaissanceTmp, idNatTmp);
- ->
- -> CREATE USER pseudoTmp@localhost;
- -> SET @query = CONCAT('SET PASSWORD FOR ', pseudoTmp, ' = "', mdpTmp, '"');
- -> PREPARE stmt FROM @query;
- -> EXECUTE stmt;
- -> DEALLOCATE PREPARE stmt;
- ->
- -> SELECT pseudoTmp;
- -> END |
- Query OK, 0 rows affected (0.02 sec)
- MariaDB [tennis]> DELIMITER ;
- MariaDB [tennis]>
- MariaDB [tennis]>
- MariaDB [tennis]> DROP PROCEDURE IF EXISTS nouveau_joueur;
- Query OK, 0 rows affected (0.02 sec)
- MariaDB [tennis]> DELIMITER |
- MariaDB [tennis]> CREATE PROCEDURE nouveau_joueur(nomTmp VARCHAR(64),
- -> prenomTmp VARCHAR(64),
- -> dateNaissanceTmp date,
- -> idNatTmp int,
- -> mdpTmp VARCHAR(64))
- -> BEGIN
- -> DECLARE pseudoTmp varchar(64);
- -> DECLARE idJoueurTmp int;
- -> DECLARE idAgentTmp int;
- ->
- -> SELECT creer_utilisateur (nomTmp, prenomTmp, 'invite', dateNaissanceTmp, idNatTmp, mdpTmp)
- -> INTO pseudoTmp;
- ->
- -> SELECT id
- -> INTO idJoueurTmp
- -> FROM utilisateur
- -> WHERE pseudo = pseudoTmp;
- ->
- -> SELECT id
- -> INTO idAgentTmp
- -> FROM utilisateur
- -> WHERE concat(pseudo,"@localhost") = user();
- ->
- -> UPDATE utilisateur
- -> SET statut = 'joueur'
- -> WHERE id = idJoueurTmp;
- ->
- -> INSERT INTO joueur(id, idAgent)
- -> VALUES (idJoueurTmp, idAgentTmp);
- ->
- -> GRANT joueur to pseudoTmp@localhost ; -- qui devra etre change par l'utilisateur
- -> END |
- Query OK, 0 rows affected (0.03 sec)
- MariaDB [tennis]> DELIMITER ;
- MariaDB [tennis]> call nouveau_joueur("nom","oreom","2015-12-12",1,"a");
- ERROR 1305 (42000): FUNCTION tennis.creer_utilisateur does not exist
- MariaDB [tennis]>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement