Advertisement
Guest User

Untitled

a guest
Mar 5th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. 1) DELIMITER $$
  2. CREATE PROCEDURE readerIsLoginElLib(IN wr varchar(30), IN wt varchar(255))
  3. BEGIN
  4. SELECT * FROM reader INNER JOIN user
  5. ON reader.fk_user = user.pk_user
  6. WHERE user.login = wr AND user.pass = wt;
  7. END;
  8.  
  9. 2) DELIMITER $$
  10. CREATE PROCEDURE readerIsntLoginElLib()
  11. BEGIN
  12. SELECT * FROM reader
  13. reader LEFT JOIN user
  14. ON reader.fk_user = user.pk_user
  15. WHERE user.pk_user is null
  16. ORDER BY reader.lastname, reader.firstname, reader.middlename, reader.dateOfEntry;
  17. END;
  18.  
  19. 3) DELIMITER $$
  20. CREATE PROCEDURE amountIsntLoginElLib(OUT wt smallint)
  21. BEGIN
  22. SELECT COUNT(*) INTO wt FROM reader
  23. reader LEFT JOIN user
  24. ON reader.fk_user = user.pk_user
  25. WHERE user.pk_user is null
  26. ORDER BY reader.lastname, reader.firstname, reader.middlename, reader.dateOfEntry;
  27. END;
  28.  
  29. 4)DELIMITER $$
  30. CREATE PROCEDURE isLoginElLib(IN f varchar(45), IN i varchar(45),
  31. IN o varchar(45), IN email varchar(255), OUT flag boolean)
  32. BEGIN
  33. DECLARE nr int;
  34. SET flag = false;
  35. SELECT MAX(reader.pk_reader) INTO nr FROM reader
  36. WHERE(reader.lastname=f) AND (reader.firstname=i) AND (reader.middlename=o) AND (reader.email=email);
  37. IF(nr IS NOT null)
  38. THEN SET flag=true;
  39. END IF;
  40. END;
  41.  
  42. 5)DELIMITER $$
  43. CREATE PROCEDURE regElLib(IN loginP varchar(30), IN passP varchar(255))
  44. BEGIN
  45. INSERT INTO user (user.login, user.pass, user.role)
  46. VALUES (loginP, PASSWORD(passP), 'Libreader');
  47. END;
  48.  
  49. 6)DELIMITER $$
  50. CREATE PROCEDURE regLib(IN pk_readerP smallint, IN lastnameP varchar(45),
  51. IN firstnameP varchar(45), IN middlenameP varchar(45), IN number_telP char(11),
  52. IN cityP varchar(45), IN adressP varchar(45), IN genterP enum('М','Ж'), IN dateOfBirchP date,
  53. IN dateOfEntry timestamp, IN emailP varchar(255))
  54. BEGIN
  55. INSERT INTO reader (reader.lastname, reader.firstname, reader.middlename, reader.number_tel,
  56. reader.city, reader.adress, reader.genter, reader.dateOfBirch, reader.dateOfEntry, reader.email)
  57. VALUES (pk_readerP, lastnameP, firstnameP, middlenameP,
  58. number_telP, cityP, adressP, genterP, dateOfBirchP, dateOfEntry, emailP);
  59. end;
  60.  
  61. 7)DELIMITER $$
  62. CREATE PROCEDURE issueAll(IN dateOfIssueP timestamp, IN dateActualReturnP datetime, IN pk_readerP smallint)
  63. BEGIN
  64. SELECT issued.dateOfIssue, reader.pk_reader, concat(reader.lastname, reader.firstname, reader.middlename),
  65. issued.fk_book, COUNT(issued.fk_book) AS Количество, issued_fine.fineOf FROM (issued INNER JOIN reader
  66. ON issued.fk_reader=reader.pk_reader) INNER JOIN
  67. issued_fine ON issued.pk_issued=issued_fine.fk_issued
  68. WHERE issued.dateOfIssue = dateOfIssueP AND issued.dateActualReturn = dateActualReturnP AND reader.pk_reader = pk_readerP
  69. ORDER BY issued.dateOfIssue AND reader.lastname AND reader.firstname AND reader.middlename;
  70. END;
  71.  
  72. 8)DELIMITER $$
  73. CREATE PROCEDURE issueIsntReturn(IN dateOfIssueP timestamp, IN dateActualReturnP datetime, IN pk_readerP smallint)
  74. BEGIN
  75. SELECT issued.dateOfIssue, reader.pk_reader, concat(reader.lastname, reader.firstname, reader.middlename), issued.fk_book, COUNT(issued.fk_book) AS Количество, issued_fine.fineOf FROM (issued INNER JOIN reader
  76. ON issued.fk_reader=reader.pk_reader) INNER JOIN
  77. issued_fine ON issued.pk_issued=issued_fine.fk_issued
  78. WHERE issued.dateOfIssue = dateOfIssueP AND (issued.dateActualReturn IS null OR issued.dateActualReturn = ' ') AND reader.pk_reader = pk_readerP
  79. ORDER BY issued.dateOfIssue AND reader.lastname AND reader.firstname AND reader.middlename;
  80. END;
  81.  
  82. 9)
  83.  
  84. 10)DELIMITER $$
  85. CREATE PROCEDURE enouthBook(IN ni smallint, IN col tinyint, OUT flag boolean)
  86. BEGIN
  87. DECLARE nr int;
  88. SET flag = false;
  89. SELECT MAX(book.numberOfCopies) INTO nr FROM issued
  90. WHERE(issued.fk_book=ni) AND (col = book.numberOfCopies);
  91. IF(nr IS NOT null)
  92. THEN SET flag=true;
  93. END IF;
  94. END;
  95.  
  96. 11)DELIMITER $$
  97. CREATE PROCEDURE insIssue(IN ww tinyint, IN rw smallint, IN wr smallint, IN col tinyint)
  98. BEGIN
  99. INSERT INTO issued(issued.numberOfIssue, issued.fk_reader, issued.fk_periodForBack, issued.fk_book)
  100. VALUES (ww, rw, wr, col);
  101. END;
  102.  
  103. 12)DELIMITER $$
  104. CREATE PROCEDURE updDateReturn(IN ww smallint)
  105. BEGIN
  106. UPDATE issued SET issued.dateActualReturn = NOW()
  107. WHERE issued.pk_issued = ww;
  108. END;
  109.  
  110. 13)DELIMITER $$
  111. CREATE PROCEDURE delBook(IN ww smallint)
  112. BEGIN
  113. DELETE FROM issued
  114. WHERE issued.fk_book = ww;
  115. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement