Advertisement
Guest User

Untitled

a guest
Dec 12th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1.  
  2. MariaDB [(none)]> use tennis ;
  3. Database changed
  4. MariaDB [tennis]>
  5. MariaDB [tennis]> DROP PROCEDURE IF EXISTS creer_utilisateur;
  6. Query OK, 0 rows affected (0.04 sec)
  7.  
  8. MariaDB [tennis]> DELIMITER |
  9. MariaDB [tennis]> CREATE PROCEDURE creer_utilisateur (nomTmp VARCHAR(64),
  10. -> prenomTmp VARCHAR(64),
  11. -> statutTmp enum('organisateur', 'statisticien',/* 'joueur',*/ 'agent', 'journaliste', 'invite'),
  12. -> dateNaissanceTmp date,
  13. -> idNatTmp int,
  14. -> mdpTmp VARCHAR(64))
  15. -> BEGIN
  16. -> DECLARE pseudoTmp varchar(64);
  17. ->
  18. -> SELECT concat(prenomTmp, substr(nomTmp, 1, 1), MAX(id)+1)
  19. -> INTO pseudoTmp
  20. -> FROM utilisateur;
  21. ->
  22. ->
  23. -> INSERT INTO utilisateur(nom, prenom, pseudo, statut, dateNaissance, idNat)
  24. -> VALUES (nomTmp, prenomTmp, pseudoTmp, statutTmp, dateNaissanceTmp, idNatTmp);
  25. ->
  26. -> CREATE USER pseudoTmp@localhost;
  27. -> SET @query = CONCAT('SET PASSWORD FOR ', pseudoTmp, ' = "', mdpTmp, '"');
  28. -> PREPARE stmt FROM @query;
  29. -> EXECUTE stmt;
  30. -> DEALLOCATE PREPARE stmt;
  31. ->
  32. -> SELECT pseudoTmp;
  33. -> END |
  34. Query OK, 0 rows affected (0.02 sec)
  35.  
  36. MariaDB [tennis]> DELIMITER ;
  37. MariaDB [tennis]>
  38. MariaDB [tennis]>
  39. MariaDB [tennis]> DROP PROCEDURE IF EXISTS nouveau_joueur;
  40. Query OK, 0 rows affected (0.02 sec)
  41.  
  42. MariaDB [tennis]> DELIMITER |
  43. MariaDB [tennis]> CREATE PROCEDURE nouveau_joueur(nomTmp VARCHAR(64),
  44. -> prenomTmp VARCHAR(64),
  45. -> dateNaissanceTmp date,
  46. -> idNatTmp int,
  47. -> mdpTmp VARCHAR(64))
  48. -> BEGIN
  49. -> DECLARE pseudoTmp varchar(64);
  50. -> DECLARE idJoueurTmp int;
  51. -> DECLARE idAgentTmp int;
  52. ->
  53. -> SELECT creer_utilisateur (nomTmp, prenomTmp, 'invite', dateNaissanceTmp, idNatTmp, mdpTmp)
  54. -> INTO pseudoTmp;
  55. ->
  56. -> SELECT id
  57. -> INTO idJoueurTmp
  58. -> FROM utilisateur
  59. -> WHERE pseudo = pseudoTmp;
  60. ->
  61. -> SELECT id
  62. -> INTO idAgentTmp
  63. -> FROM utilisateur
  64. -> WHERE concat(pseudo,"@localhost") = user();
  65. ->
  66. -> UPDATE utilisateur
  67. -> SET statut = 'joueur'
  68. -> WHERE id = idJoueurTmp;
  69. ->
  70. -> INSERT INTO joueur(id, idAgent)
  71. -> VALUES (idJoueurTmp, idAgentTmp);
  72. ->
  73. -> GRANT joueur to pseudoTmp@localhost ; -- qui devra etre change par l'utilisateur
  74. -> END |
  75. Query OK, 0 rows affected (0.03 sec)
  76.  
  77. MariaDB [tennis]> DELIMITER ;
  78. MariaDB [tennis]> call nouveau_joueur("nom","oreom","2015-12-12",1,"a");
  79. ERROR 1305 (42000): FUNCTION tennis.creer_utilisateur does not exist
  80. MariaDB [tennis]>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement