Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.58 KB | None | 0 0
  1. /****** Object: UserDefinedFunction [dbo].[task6] Script Date: 14.12.2019 11:01:04 ******/
  2. SET ANSI_NULLS ON
  3. GO
  4. SET QUOTED_IDENTIFIER ON
  5. GO
  6. CREATE FUNCTION [dbo].[task6]() RETURNS REAL
  7. BEGIN
  8. DECLARE @Средняя_стоимость REAL
  9. select @Средняя_стоимость=convert(REAL,AVG(coast)) FROM plane_models
  10. RETURN (@Средняя_стоимость)
  11. END;
  12. GO
  13. /****** Object: Table [dbo].[plane_models] Script Date: 14.12.2019 11:01:04 ******/
  14. SET ANSI_NULLS ON
  15. GO
  16. SET QUOTED_IDENTIFIER ON
  17. GO
  18. CREATE TABLE [dbo].[plane_models](
  19. [id_Model] [int] IDENTITY(1,1) NOT NULL,
  20. [name] [varchar](50) NOT NULL,
  21. [coast] [money] NULL,
  22. [manufacturer] [int] NULL,
  23. CONSTRAINT [PK__plane_mo__F406B314C8020036] PRIMARY KEY CLUSTERED
  24. (
  25. [id_Model] ASC
  26. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  27. ) ON [PRIMARY]
  28. GO
  29. /****** Object: UserDefinedFunction [dbo].[task7] Script Date: 14.12.2019 11:01:04 ******/
  30. SET ANSI_NULLS ON
  31. GO
  32. SET QUOTED_IDENTIFIER ON
  33. GO
  34. CREATE FUNCTION [dbo].[task7]() RETURNS TABLE AS
  35. RETURN(select top(5) name as Самолет, coast from plane_models order by name asc)
  36. GO
  37. /****** Object: Table [dbo].[aircompany] Script Date: 14.12.2019 11:01:04 ******/
  38. SET ANSI_NULLS ON
  39. GO
  40. SET QUOTED_IDENTIFIER ON
  41. GO
  42. CREATE TABLE [dbo].[aircompany](
  43. [id] [int] IDENTITY(1,1) NOT NULL,
  44. [name] [varchar](50) NOT NULL,
  45. PRIMARY KEY CLUSTERED
  46. (
  47. [id] ASC
  48. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  49. ) ON [PRIMARY]
  50. GO
  51. /****** Object: Table [dbo].[city] Script Date: 14.12.2019 11:01:04 ******/
  52. SET ANSI_NULLS ON
  53. GO
  54. SET QUOTED_IDENTIFIER ON
  55. GO
  56. CREATE TABLE [dbo].[city](
  57. [id] [int] IDENTITY(1,1) NOT NULL,
  58. [name] [varchar](50) NOT NULL,
  59. PRIMARY KEY CLUSTERED
  60. (
  61. [id] ASC
  62. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  63. ) ON [PRIMARY]
  64. GO
  65. /****** Object: Table [dbo].[city_aircompany] Script Date: 14.12.2019 11:01:04 ******/
  66. SET ANSI_NULLS ON
  67. GO
  68. SET QUOTED_IDENTIFIER ON
  69. GO
  70. CREATE TABLE [dbo].[city_aircompany](
  71. [id_City] [int] NOT NULL,
  72. [id_aircompany] [int] NOT NULL,
  73. PRIMARY KEY CLUSTERED
  74. (
  75. [id_City] ASC,
  76. [id_aircompany] ASC
  77. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  78. ) ON [PRIMARY]
  79. GO
  80. /****** Object: Table [dbo].[manufacturer] Script Date: 14.12.2019 11:01:04 ******/
  81. SET ANSI_NULLS ON
  82. GO
  83. SET QUOTED_IDENTIFIER ON
  84. GO
  85. CREATE TABLE [dbo].[manufacturer](
  86. [id] [int] IDENTITY(1,1) NOT NULL,
  87. [name] [varchar](50) NOT NULL,
  88. PRIMARY KEY CLUSTERED
  89. (
  90. [id] ASC
  91. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  92. ) ON [PRIMARY]
  93. GO
  94. /****** Object: Table [dbo].[plane_park] Script Date: 14.12.2019 11:01:04 ******/
  95. SET ANSI_NULLS ON
  96. GO
  97. SET QUOTED_IDENTIFIER ON
  98. GO
  99. CREATE TABLE [dbo].[plane_park](
  100. [id_Plane] [int] NOT NULL,
  101. [model] [int] NULL,
  102. [aircompany] [int] NULL,
  103. PRIMARY KEY CLUSTERED
  104. (
  105. [id_Plane] ASC
  106. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  107. ) ON [PRIMARY]
  108. GO
  109. /****** Object: Table [dbo].[Авиакомпании со средним числом производителей самолетов равный 1] Script Date: 14.12.2019 11:01:04 ******/
  110. SET ANSI_NULLS ON
  111. GO
  112. SET QUOTED_IDENTIFIER ON
  113. GO
  114. CREATE TABLE [dbo].[Авиакомпании со средним числом производителей самолетов равный 1](
  115. [id] [int] IDENTITY(1,1) NOT NULL,
  116. [Название] [varchar](50) NULL
  117. ) ON [PRIMARY]
  118. GO
  119. /****** Object: Table [dbo].[Авиакомпании со средним числом производителей самолетов равный 5] Script Date: 14.12.2019 11:01:04 ******/
  120. SET ANSI_NULLS ON
  121. GO
  122. SET QUOTED_IDENTIFIER ON
  123. GO
  124. CREATE TABLE [dbo].[Авиакомпании со средним числом производителей самолетов равный 5](
  125. [id] [int] IDENTITY(1,1) NOT NULL,
  126. [Название] [varchar](50) NULL
  127. ) ON [PRIMARY]
  128. GO
  129. /****** Object: Table [dbo].[Смена производителя] Script Date: 14.12.2019 11:01:04 ******/
  130. SET ANSI_NULLS ON
  131. GO
  132. SET QUOTED_IDENTIFIER ON
  133. GO
  134. CREATE TABLE [dbo].[Смена производителя](
  135. [название] [varchar](50) NULL,
  136. [дата изменения название] [datetime] NOT NULL
  137. ) ON [PRIMARY]
  138. GO
  139. SET IDENTITY_INSERT [dbo].[aircompany] ON
  140. GO
  141. INSERT [dbo].[aircompany] ([id], [name]) VALUES (1, N'company1')
  142. GO
  143. INSERT [dbo].[aircompany] ([id], [name]) VALUES (2, N'company2')
  144. GO
  145. INSERT [dbo].[aircompany] ([id], [name]) VALUES (3, N'company3')
  146. GO
  147. INSERT [dbo].[aircompany] ([id], [name]) VALUES (4, N'company4')
  148. GO
  149. SET IDENTITY_INSERT [dbo].[aircompany] OFF
  150. GO
  151. SET IDENTITY_INSERT [dbo].[city] ON
  152. GO
  153. INSERT [dbo].[city] ([id], [name]) VALUES (1, N'city1')
  154. GO
  155. INSERT [dbo].[city] ([id], [name]) VALUES (2, N'city2')
  156. GO
  157. INSERT [dbo].[city] ([id], [name]) VALUES (3, N'city3')
  158. GO
  159. INSERT [dbo].[city] ([id], [name]) VALUES (4, N'city4')
  160. GO
  161. INSERT [dbo].[city] ([id], [name]) VALUES (5, N'Стамбул')
  162. GO
  163. SET IDENTITY_INSERT [dbo].[city] OFF
  164. GO
  165. INSERT [dbo].[city_aircompany] ([id_City], [id_aircompany]) VALUES (1, 1)
  166. GO
  167. INSERT [dbo].[city_aircompany] ([id_City], [id_aircompany]) VALUES (2, 2)
  168. GO
  169. INSERT [dbo].[city_aircompany] ([id_City], [id_aircompany]) VALUES (3, 3)
  170. GO
  171. INSERT [dbo].[city_aircompany] ([id_City], [id_aircompany]) VALUES (4, 4)
  172. GO
  173. INSERT [dbo].[city_aircompany] ([id_City], [id_aircompany]) VALUES (5, 1)
  174. GO
  175. SET IDENTITY_INSERT [dbo].[manufacturer] ON
  176. GO
  177. INSERT [dbo].[manufacturer] ([id], [name]) VALUES (5, N'man5')
  178. GO
  179. INSERT [dbo].[manufacturer] ([id], [name]) VALUES (6, N'changer1')
  180. GO
  181. SET IDENTITY_INSERT [dbo].[manufacturer] OFF
  182. GO
  183. SET IDENTITY_INSERT [dbo].[plane_models] ON
  184. GO
  185. INSERT [dbo].[plane_models] ([id_Model], [name], [coast], [manufacturer]) VALUES (13, N'plane_russia', 3000.0000, 6)
  186. GO
  187. INSERT [dbo].[plane_models] ([id_Model], [name], [coast], [manufacturer]) VALUES (14, N'testytyyt', 20000.0000, 6)
  188. GO
  189. INSERT [dbo].[plane_models] ([id_Model], [name], [coast], [manufacturer]) VALUES (18, N't5', 20000.0000, 6)
  190. GO
  191. INSERT [dbo].[plane_models] ([id_Model], [name], [coast], [manufacturer]) VALUES (19, N't6', 20000.0000, 6)
  192. GO
  193. INSERT [dbo].[plane_models] ([id_Model], [name], [coast], [manufacturer]) VALUES (20, N't7', 20000.0000, 6)
  194. GO
  195. INSERT [dbo].[plane_models] ([id_Model], [name], [coast], [manufacturer]) VALUES (21, N't10', 20000.0000, 5)
  196. GO
  197. SET IDENTITY_INSERT [dbo].[plane_models] OFF
  198. GO
  199. SET IDENTITY_INSERT [dbo].[Авиакомпании со средним числом производителей самолетов равный 1] ON
  200. GO
  201. INSERT [dbo].[Авиакомпании со средним числом производителей самолетов равный 1] ([id], [Название]) VALUES (1, N'company1')
  202. GO
  203. INSERT [dbo].[Авиакомпании со средним числом производителей самолетов равный 1] ([id], [Название]) VALUES (2, N'company2')
  204. GO
  205. INSERT [dbo].[Авиакомпании со средним числом производителей самолетов равный 1] ([id], [Название]) VALUES (3, N'company3')
  206. GO
  207. INSERT [dbo].[Авиакомпании со средним числом производителей самолетов равный 1] ([id], [Название]) VALUES (4, N'company4')
  208. GO
  209. SET IDENTITY_INSERT [dbo].[Авиакомпании со средним числом производителей самолетов равный 1] OFF
  210. GO
  211. INSERT [dbo].[Смена производителя] ([название], [дата изменения название]) VALUES (N'man6', CAST(N'2019-12-07T03:10:52.227' AS DateTime))
  212. GO
  213. INSERT [dbo].[Смена производителя] ([название], [дата изменения название]) VALUES (N'changer1', CAST(N'2019-12-07T14:55:35.460' AS DateTime))
  214. GO
  215. INSERT [dbo].[Смена производителя] ([название], [дата изменения название]) VALUES (N'test1', CAST(N'2019-12-07T14:55:52.920' AS DateTime))
  216. GO
  217. INSERT [dbo].[Смена производителя] ([название], [дата изменения название]) VALUES (N'changer1', CAST(N'2019-12-07T15:05:40.597' AS DateTime))
  218. GO
  219. INSERT [dbo].[Смена производителя] ([название], [дата изменения название]) VALUES (N'changer1', CAST(N'2019-12-07T15:06:10.927' AS DateTime))
  220. GO
  221. INSERT [dbo].[Смена производителя] ([название], [дата изменения название]) VALUES (N'test1', CAST(N'2019-12-07T16:28:34.377' AS DateTime))
  222. GO
  223. ALTER TABLE [dbo].[Смена производителя] ADD DEFAULT (getdate()) FOR [дата изменения название]
  224. GO
  225. ALTER TABLE [dbo].[city_aircompany] WITH CHECK ADD FOREIGN KEY([id_aircompany])
  226. REFERENCES [dbo].[aircompany] ([id])
  227. GO
  228. ALTER TABLE [dbo].[city_aircompany] WITH CHECK ADD FOREIGN KEY([id_City])
  229. REFERENCES [dbo].[city] ([id])
  230. GO
  231. ALTER TABLE [dbo].[plane_models] WITH CHECK ADD CONSTRAINT [FK__plane_mod__manuf__44FF419A] FOREIGN KEY([manufacturer])
  232. REFERENCES [dbo].[manufacturer] ([id])
  233. ON DELETE CASCADE
  234. GO
  235. ALTER TABLE [dbo].[plane_models] CHECK CONSTRAINT [FK__plane_mod__manuf__44FF419A]
  236. GO
  237. ALTER TABLE [dbo].[plane_park] WITH CHECK ADD FOREIGN KEY([aircompany])
  238. REFERENCES [dbo].[aircompany] ([id])
  239. GO
  240. ALTER TABLE [dbo].[plane_park] WITH CHECK ADD CONSTRAINT [FK__plane_par__model__412EB0B6] FOREIGN KEY([model])
  241. REFERENCES [dbo].[plane_models] ([id_Model])
  242. GO
  243. ALTER TABLE [dbo].[plane_park] CHECK CONSTRAINT [FK__plane_par__model__412EB0B6]
  244. GO
  245. /****** Object: StoredProcedure [dbo].[task1] Script Date: 14.12.2019 11:01:05 ******/
  246. SET ANSI_NULLS ON
  247. GO
  248. SET QUOTED_IDENTIFIER ON
  249. GO
  250.  
  251.  
  252. /*вставка фильма, если отсутствует студия, то она добавляется есть работает*/
  253. CREATE PROCEDURE [dbo].[task1](@name varchar(50), @manufacturer varchar(50))
  254. AS
  255. BEGIN
  256. DECLARE @man_id INT;
  257. select @man_id=id from manufacturer where name=@manufacturer
  258. if EXISTS(select id from manufacturer where name=@manufacturer)
  259. insert INTO plane_models(name, manufacturer) VALUES (@name, @man_id)
  260. ELSE
  261. BEGIN
  262. insert into manufacturer (name) VALUES (@manufacturer)
  263. insert INTO plane_models(name, manufacturer) VALUES (@name, @@IDENTITY)
  264. END
  265. END;
  266. GO
  267. /****** Object: StoredProcedure [dbo].[task2] Script Date: 14.12.2019 11:01:05 ******/
  268. SET ANSI_NULLS ON
  269. GO
  270. SET QUOTED_IDENTIFIER ON
  271. GO
  272.  
  273. CREATE procedure [dbo].[task2](@name varchar(50), @manufacturer varchar(50))
  274. AS
  275. BEGIN
  276. DECLARE @man_id INT;
  277. select @man_id=id from manufacturer where name=@manufacturer
  278.  
  279. delete FROM plane_models where name=@name and manufacturer=@man_id
  280.  
  281. if not EXISTS(select * from plane_models where manufacturer=@man_id)
  282. delete FROM manufacturer where id=@man_id
  283. END;
  284. GO
  285. /****** Object: StoredProcedure [dbo].[task3] Script Date: 14.12.2019 11:01:05 ******/
  286. SET ANSI_NULLS ON
  287. GO
  288. SET QUOTED_IDENTIFIER ON
  289. GO
  290. CREATE PROCEDURE [dbo].[task3] (@name varchar(50)) AS
  291. BEGIN
  292. DECLARE @man_id INT
  293. /*обязательно нужен иначе не понятно, что означает man_id*/
  294. select @man_id=id from manufacturer where name=@name
  295. IF EXISTS(select * from plane_models where manufacturer=@man_id)
  296. BEGIN
  297. delete from plane_models where manufacturer=@man_id
  298. DELETE FROM manufacturer where name=@name
  299. END
  300. ELSE
  301. DELETE FROM manufacturer where name=@name
  302. END;
  303. GO
  304. /****** Object: StoredProcedure [dbo].[task4] Script Date: 14.12.2019 11:01:05 ******/
  305. SET ANSI_NULLS ON
  306. GO
  307. SET QUOTED_IDENTIFIER ON
  308. GO
  309. /*4 ХП которая использует агрегатную функцию*/
  310. CREATE PROCEDURE [dbo].[task4] (@name varchar(50))AS
  311. BEGIN
  312. DECLARE @man_id INT
  313. select @man_id=id from manufacturer where name=@name
  314. SELECT count(name) as [Кол-во моделей у каждого производителя], manufacturer FROM plane_models WHERE manufacturer=@man_id group by manufacturer
  315. END
  316. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement