Advertisement
Guest User

aaa

a guest
Mar 27th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.08 KB | None | 0 0
  1. USE pubs
  2.  
  3. --ZAD 1
  4. CREATE PROCEDURE usp_Authors_Insert_Karlo
  5. (
  6. @au_id varchar(11),
  7. @au_lname varchar(40),
  8. @au_fname varchar(20),
  9. @phone char(12),
  10. @adress varchar(40) = NULL,
  11. @city varchar(20) = NULL,
  12. @state char(2) = NULL,
  13. @zip char(5) = NULL,
  14. @contract bit
  15.  
  16. )
  17. AS
  18. BEGIN
  19. INSERT INTO authors
  20. VALUES(@au_id,@au_lname,@au_fname,@phone,@adress,@city,@state,@zip,@contract)
  21. END
  22.  
  23. EXEC usp_Authors_Insert_Karlo @au_id = '555-46-1111',
  24. @au_lname = 'Kresic',
  25. @au_fname = 'Karlo',
  26. @phone = '54321',
  27. @adress = 'Nesto 123',
  28. @city = 'Capljina',
  29. @state = 'BA',
  30. @zip = '88307',
  31. @contract = 1
  32.  
  33. SELECT * FROM authors
  34. --zad2
  35.  
  36. CREATE PROCEDURE usp_Authors_Update_Karlo
  37. (
  38. @au_id varchar(11),
  39. @au_lname varchar(40),
  40. @au_fname varchar(20),
  41. @phone char(12),
  42. @adress varchar(40) = NULL,
  43. @city varchar(20) = NULL,
  44. @state char(2) = NULL,
  45. @zip char(5) = NULL,
  46. @contract bit
  47.  
  48. )
  49. AS
  50. BEGIN
  51. UPDATE authors SET au_lname = @au_lname,
  52. au_fname = @au_fname,
  53. phone = @phone,
  54. address = @adress,
  55. city = @city,
  56. state = @state,
  57. zip = @zip,
  58. contract = @contract
  59. WHERE au_id = @au_id
  60. END
  61.  
  62. EXEC usp_Authors_Update_Karlo @au_id = '555-46-1111',
  63. @au_lname = 'Kresic',
  64. @au_fname = 'Karlo',
  65. @phone = '654321',
  66. @adress = 'Nesto 123',
  67. @city = 'Sarajevo',
  68. @state = 'BA',
  69. @zip = '88307',
  70. @contract = 1
  71.  
  72. SELECT * FROM authors
  73. --3 del
  74.  
  75. CREATE PROCEDURE usp_Authors_Delete_Karlo
  76. (
  77. @au_id varchar(11)
  78. )
  79. AS
  80. BEGIN
  81. DELETE FROM authors
  82. WHERE au_id = @au_id
  83. END
  84.  
  85. EXEC usp_Authors_Delete_Karlo @au_id = '555-46-1111'
  86.  
  87. --4
  88. ALTER PROCEDURE usp_Authors_Insert_Karlo
  89. (
  90. @au_id varchar(11),
  91. @au_lname varchar(40),
  92. @au_fname varchar(20),
  93. @phone char(12),
  94. @adress varchar(40) = NULL,
  95. @city varchar(20) = NULL,
  96. @state char(2) = NULL,
  97. @zip char(5) = NULL,
  98. @contract bit
  99.  
  100. )
  101. AS
  102. BEGIN
  103. INSERT INTO authors
  104. VALUES(@au_id,@au_lname,@au_fname,@phone,@adress,@city,@state,@zip,@contract)
  105.  
  106. INSERT INTO titleauthor (au_id,title_id,au_ord)
  107. SELECT TOP 2 @au_id, title_id, 3
  108. FROM titles
  109. END
  110.  
  111. EXEC usp_Authors_Insert_Karlo @au_id = '555-46-1111',
  112. @au_lname = 'Kresic',
  113. @au_fname = 'Karlo',
  114. @phone = '54321',
  115. @adress = 'Nesto 123',
  116. @city = 'Capljina',
  117. @state = 'BA',
  118. @zip = '88307',
  119. @contract = 1
  120. --5
  121. CREATE VIEW view_ProdajaKnjiga_Karlo AS
  122. SELECT P.pub_name, A.au_fname, A.au_lname, T.title, SUM(T.price * S.qty) AS 'Zarada'
  123. FROM publishers AS P JOIN titles AS T
  124. ON P.pub_id = T.pub_id JOIN titleauthor as TA
  125. ON TA.title_id = T.title_id JOIN authors AS A
  126. ON A.au_id = TA.au_id JOIN sales AS S
  127. ON T.title_id = S.title_id
  128. GROUP BY P.pub_name, A.au_fname, A.au_lname, T.title
  129.  
  130. SELECT * FROM view_ProdajaKnjiga_Karlo
  131.  
  132. --6
  133. CREATE PROCEDURE usp_ProdajaKnjiga_SelectByParameters_Karlo
  134. (
  135. @au_fname varchar(20) = NULL,
  136. @au_lname varchar(40) = NULL,
  137. @pub_name varchar(50) = NULL,
  138. @title varchar(80) = NULL
  139. )
  140. AS
  141. BEGIN
  142. SELECT title, SUM(Zarada)
  143. FROM view_ProdajaKnjiga_Karlo
  144. WHERE (au_fname = @au_fname OR @au_fname IS NULL) AND
  145. (au_lname = @au_lname OR @au_lname IS NULL) AND
  146. (pub_name = @pub_name OR @pub_name IS NULL) AND
  147. (title = @title OR @title IS NULL)
  148. GROUP BY title
  149. END
  150.  
  151. EXEC usp_ProdajaKnjiga_SelectByParameters_Karlo @pub_name = 'New Moon Books',
  152. @au_fname = 'Marina',
  153. @title = 'Is Anger the Enemy?'
  154.  
  155. --7
  156. CREATE TRIGGER tr_TitleAuthor_IO_Delete_Karlo
  157. ON titleauthor INSTEAD OF DELETE AS
  158. BEGIN
  159. PRINT 'Ne moze se brisati autor sa knjige'
  160. ROLLBACK
  161. END
  162.  
  163. --8
  164. CREATE PROCEDURE usp_TitleAuthors_Delete_Karlo
  165. (
  166. @au_id varchar(11),
  167. @au_lname varchar(40),
  168. @au_fname varchar(20),
  169. @phone char(12),
  170. @adress varchar(40) = NULL,
  171. @city varchar(20) = NULL,
  172. @state char(2) = NULL,
  173. @zip char(5) = NULL,
  174. @contract bit
  175.  
  176. )
  177. AS
  178. BEGIN
  179. DELETE FROM titleauthor
  180. WHERE au_id = @au_id
  181.  
  182. DELETE FROM authors
  183. WHERE au_id = @au_id
  184. END
  185.  
  186. EXEC usp_TitleAuthors_Delete_Karlo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement