Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 34.23 KB | None | 0 0
  1. USE master
  2. GO
  3.  
  4. IF  EXISTS (
  5.     SELECT name
  6.         FROM sys.databases
  7.         WHERE name = N'KN_303_shvedov'
  8. )
  9. ALTER DATABASE KN_303_shvedov set single_user with rollback immediate
  10. GO
  11.  
  12. IF  EXISTS (
  13.     SELECT name
  14.         FROM sys.databases
  15.         WHERE name = N'KN_303_shvedov'
  16. )
  17. DROP DATABASE KN_303_shvedov
  18. GO
  19.  
  20. CREATE DATABASE KN_303_shvedov
  21. GO
  22.  
  23. USE KN_303_shvedov
  24. GO
  25.  
  26. IF EXISTS(
  27.   SELECT *
  28.     FROM sys.schemas
  29.    WHERE name = N'shvedov'
  30. )
  31. DROP SCHEMA shvedov
  32. GO
  33.  
  34. CREATE SCHEMA shvedov
  35. GO
  36.  
  37. IF OBJECT_ID (N'KN_303_shvedov.shvedov.isStateNumberCorrect ', N'FN') IS NOT NULL  
  38.    DROP FUNCTION shvedov.isStateNumberCorrect;
  39. GO
  40.  
  41. CREATE FUNCTION shvedov.isStateNumberCorrect(@stateNumber VARCHAR(9))  
  42. RETURNS BIT
  43. AS
  44. BEGIN
  45.     IF (@stateNumber like '[АВЕКМНОРСТУХавекмнорстух][1-9][0-9][0-9][АВЕКМНОРСТУХавекмнорстух][АВЕКМНОРСТУХавекмнорстух][1,2,7][0-9][0-9]' OR
  46.         @stateNumber like '[АВЕКМНОРСТУХ][1-9][0-9][0-9][АВЕКМНОРСТУХавекмнорстух][АВЕКМНОРСТУХавекмнорстух][0-9][0-9]' OR
  47.  
  48.         @stateNumber like '[АВЕКМНОРСТУХавекмнорстух]0[1-9][0-9][АВЕКМНОРСТУХавекмнорстух][АВЕКМНОРСТУХавекмнорстух][1,2,7][0-9][0-9]' OR
  49.         @stateNumber like '[АВЕКМНОРСТУХавекмнорстух]0[1-9][0-9][АВЕКМНОРСТУХавекмнорстух][АВЕКМНОРСТУХавекмнорстух][0-9][0-9]' OR
  50.  
  51.         @stateNumber like '[АВЕКМНОРСТУХавекмнорстух]00[1-9][АВЕКМНОРСТУХавекмнорстух][АВЕКМНОРСТУХавекмнорстух][1,2,7][0-9][0-9]' OR
  52.         @stateNumber like '[АВЕКМНОРСТУХавекмнорстух]00[1-9][АВЕКМНОРСТУХавекмнорстух][АВЕКМНОРСТУХавекмнорстух][0-9][0-9]')
  53.         BEGIN
  54.             RETURN 1;
  55.         END
  56.     RETURN 0;
  57. END;
  58. GO
  59.  
  60. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getRegionNumber', N'FN') IS NOT NULL  
  61.    DROP FUNCTION shvedov.getRegionNumber;
  62. GO
  63.  
  64. CREATE FUNCTION shvedov.getRegionNumber(@stateNumber VARCHAR(9))  
  65. RETURNS int
  66. AS  
  67. BEGIN
  68.     DECLARE @regionNumber int = CAST(SUBSTRING(@stateNumber, LEN(@stateNumber) - 1, LEN(@stateNumber)) AS INT)
  69.     IF ((SELECT COUNT(*) FROM KN_303_shvedov.shvedov.Regions WHERE regionNumber = @regionNumber) = 1)
  70.         RETURN @regionNumber
  71.     RETURN null
  72. END;
  73. GO
  74.  
  75. CREATE TABLE KN_303_shvedov.shvedov.TravelInformationForInsert
  76. (
  77.     stateNumber varchar(9) CHECK (shvedov.isStateNumberCorrect(stateNumber) = 1) NOT NULL,
  78.     isInside int NOT NULL,
  79.     postId tinyint NOT NULL,
  80.     crossingTime time NOT NULL
  81. )
  82.  
  83.  
  84. CREATE TABLE KN_303_shvedov.shvedov.TravelInformation
  85. (
  86.     stateNumberId int NOT NULL,
  87.     isInside bit NOT NULL,
  88.     postId tinyint NOT NULL,
  89.     crossingTime time NOT NULL
  90. )
  91. GO
  92.  
  93. CREATE TABLE KN_303_shvedov.shvedov.Post
  94. (
  95.     postId tinyint NOT NULL,
  96.     postName varchar(40) NOT NULL
  97.     CONSTRAINT PK_postId PRIMARY KEY (postId)
  98. )
  99.  
  100. CREATE TABLE KN_303_shvedov.shvedov.StateNumberInformation
  101. (
  102.     id int NOT NULL IDENTITY PRIMARY KEY,
  103.     stateNumber varchar(9) NOT NULL,
  104.     regionNumber AS shvedov.getRegionNumber(stateNumber),
  105. )
  106.  
  107. CREATE INDEX stateNumberIndex ON KN_303_shvedov.shvedov.StateNumberInformation (stateNumber);
  108.  
  109.  
  110. CREATE TABLE KN_303_shvedov.shvedov.Regions
  111. (
  112.     regionNumber tinyint NOT NULL,
  113.     regionName varchar(60) NOT NULL
  114.     CONSTRAINT PK_regionNumber PRIMARY KEY (regionNumber)
  115. )
  116. GO
  117.  
  118. ALTER TABLE KN_303_shvedov.shvedov.TravelInformation
  119. WITH CHECK ADD CONSTRAINT FK_postId FOREIGN KEY (postId)
  120. REFERENCES KN_303_shvedov.shvedov.Post (postId)
  121. ON UPDATE CASCADE
  122. ON DELETE CASCADE
  123. GO
  124.  
  125. ALTER TABLE KN_303_shvedov.shvedov.TravelInformation
  126. WITH CHECK ADD CONSTRAINT stateNumberId FOREIGN KEY (stateNumberId)
  127. REFERENCES KN_303_shvedov.shvedov.StateNumberInformation (id)
  128. ON UPDATE CASCADE
  129. ON DELETE CASCADE
  130. GO
  131.  
  132. INSERT INTO KN_303_shvedov.shvedov.Post (postId, postName) VALUES
  133. (0, 'Юг')
  134. ,(1, 'Север')
  135. ,(2, 'Запад')
  136. ,(3, 'Восток')
  137. GO
  138.  
  139. INSERT INTO KN_303_shvedov.shvedov.Regions (regionNumber, regionName) VALUES
  140. (1, 'Республика Адыгея')
  141. ,(2, 'Республика Башкортостан')
  142. ,(3, 'Республика Бурятия')
  143. ,(4, 'Республика Алтай')
  144. ,(5, 'Республика Дагестан')
  145. ,(6, 'Республика Ингушетия')
  146. ,(7, 'Кабардино-Балкарская Республика')
  147. ,(8, 'Республика Калмыкия')
  148. ,(9, 'Карачаево-Черкесская Республика')
  149. ,(10, 'Республика Карелия')
  150. ,(11, 'Республика Коми')
  151. ,(12, 'Республика Марий Эл')
  152. ,(13, 'Республика Мордовия')
  153. ,(14, 'Республика Саха (Якутия)')
  154. ,(15, 'Республика Северная Осетия - Алания')
  155. ,(16, 'Республика Татарстан (Татарстан)')
  156. ,(17, 'Республика Тыва')
  157. ,(18, 'Удмуртская Республика')
  158. ,(19, 'Республика Хакасия')
  159. ,(20, 'Чеченская Республика')
  160. ,(21, 'Чувашская Республика - Чувашия')
  161. ,(22, 'Алтайский край')
  162. ,(23, 'Краснодарский край')
  163. ,(24, 'Красноярский край')
  164. ,(25, 'Приморский край')
  165. ,(26, 'Ставропольский край')
  166. ,(27, 'Хабаровский край')
  167. ,(28, 'Амурская область')
  168. ,(29, 'Архангельская область')
  169. ,(30, 'Астраханская область')
  170. ,(31, 'Белгородская область')
  171. ,(32, 'Брянская область')
  172. ,(33, 'Владимирская область')
  173. ,(34, 'Волгоградская область')
  174. ,(35, 'Вологодская область')
  175. ,(36, 'Воронежская область')
  176. ,(37, 'Ивановская область')
  177. ,(38, 'Иркутская область')
  178. ,(39, 'Калининградская область')
  179. ,(40, 'Калужская область')
  180. ,(41, 'Камчатский край')
  181. ,(42, 'Кемеровская область')
  182. ,(43, 'Кировская область')
  183. ,(44, 'Костромская область')
  184. ,(45, 'Курганская область')
  185. ,(46, 'Курская область')
  186. ,(47, 'Ленинградская область')
  187. ,(48, 'Липецкая область')
  188. ,(49, 'Магаданская область')
  189. ,(50, 'Московская область')
  190. ,(51, 'Мурманская область')
  191. ,(52, 'Нижегородская область')
  192. ,(53, 'Новгородская область')
  193. ,(54, 'Новосибирская область')
  194. ,(55, 'Омская область')
  195. ,(56, 'Оренбургская область')
  196. ,(57, 'Орловская область')
  197. ,(58, 'Пензенская область')
  198. ,(59, 'Пермский край')
  199. ,(60, 'Псковская область')
  200. ,(61, 'Ростовская область')
  201. ,(62, 'Рязанская область')
  202. ,(63, 'Самарская область')
  203. ,(64, 'Саратовская область')
  204. ,(65, 'Сахалинская область')
  205. ,(66, 'Свердловская область')
  206. ,(67, 'Смоленская область')
  207. ,(68, 'Тамбовская область')
  208. ,(69, 'Тверская область')
  209. ,(70, 'Томская область')
  210. ,(71, 'Тульская область')
  211. ,(72, 'Тюменская область')
  212. ,(73, 'Ульяновская область')
  213. ,(74, 'Челябинская область')
  214. ,(75, 'Забайкальский край')
  215. ,(76, 'Ярославская область')
  216. ,(77, 'г. Москва')
  217. ,(78, 'Санкт-Петербург')
  218. ,(79, 'Еврейская автономная область')
  219. ,(83, 'Ненецкий автономный округ')
  220. ,(86, 'Ханты-Мансийский автономный округ - Югра')
  221. ,(87, 'Чукотский автономный округ')
  222. ,(89, 'Ямало-Ненецкий автономный округ')
  223. ,(91, 'Республика Крым')
  224. ,(92, 'Севастополь')
  225. ,(99, 'Иные территории включая город и космодром Байконур')
  226. GO
  227.  
  228.  
  229. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getStateNumber', N'FN') IS NOT NULL  
  230.    DROP FUNCTION shvedov.getStateNumber;
  231. GO
  232.  
  233. CREATE FUNCTION shvedov.getStateNumber(@stateNumberId int)  
  234. RETURNS VARCHAR(9)
  235. AS
  236. BEGIN
  237.     DECLARE getStateNumberCursor CURSOR FOR
  238.     SELECT stateNumber
  239.     FROM KN_303_shvedov.shvedov.StateNumberInformation
  240.     WHERE UPPER(@stateNumberId) = id
  241.  
  242.     OPEN getStateNumberCursor
  243.     DECLARE @result VARCHAR(9)
  244.     FETCH NEXT FROM getStateNumberCursor INTO @result
  245.     CLOSE getStateNumberCursor
  246.     DEALLOCATE getStateNumberCursor
  247.     RETURN @result
  248. END;
  249. GO
  250.  
  251. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getStateNumberId', N'FN') IS NOT NULL  
  252.    DROP FUNCTION shvedov.getStateNumberId;
  253. GO
  254.  
  255. CREATE FUNCTION shvedov.getStateNumberId(@stateNumber varchar(9))  
  256. RETURNS int
  257. AS
  258. BEGIN
  259.     DECLARE getStateNumberIdCursor CURSOR FOR
  260.     SELECT id
  261.     FROM KN_303_shvedov.shvedov.StateNumberInformation
  262.     WHERE UPPER(@stateNumber) = stateNumber
  263.  
  264.     OPEN getStateNumberIdCursor
  265.     DECLARE @result int
  266.     FETCH NEXT FROM getStateNumberIdCursor INTO @result
  267.     CLOSE getStateNumberIdCursor
  268.     DEALLOCATE getStateNumberIdCursor
  269.     RETURN @result
  270. END;
  271. GO
  272.  
  273. IF OBJECT_ID (N'KN_303_shvedov.shvedov.formatDirection', N'FN') IS NOT NULL  
  274.    DROP FUNCTION shvedov.formatDirection;
  275. GO
  276.  
  277. CREATE FUNCTION shvedov.formatDirection(@direction bit)  
  278. RETURNS varchar(10)
  279. AS
  280. BEGIN
  281.     IF (@direction = 1)
  282.         RETURN 'В город'
  283.     IF (@direction = 0)
  284.         RETURN 'Из города'
  285.     RETURN null
  286. END;
  287. GO
  288.  
  289.  
  290. IF OBJECT_ID (N'KN_303_shvedov.shvedov.isCarInCity', N'FN') IS NOT NULL  
  291.    DROP FUNCTION shvedov.isCarInCity;
  292. GO
  293.  
  294. CREATE FUNCTION shvedov.isCarInCity(@stateNumber VARCHAR(9))  
  295. RETURNS int
  296. AS  
  297. BEGIN
  298.     DECLARE isCarInCityCursor CURSOR FOR
  299.     SELECT isInside
  300.     FROM KN_303_shvedov.shvedov.TravelInformation
  301.     WHERE UPPER(@stateNumber) = shvedov.getstateNumber(stateNumberId)
  302.  
  303.     OPEN isCarInCityCursor
  304.     DECLARE @result bit
  305.     FETCH NEXT FROM isCarInCityCursor INTO @result
  306.     CLOSE isCarInCityCursor
  307.     DEALLOCATE isCarInCityCursor
  308.     RETURN @result
  309. END;
  310. GO
  311.  
  312. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getLastTravelTime', N'FN') IS NOT NULL  
  313.    DROP FUNCTION shvedov.getLastTravelTime;
  314. GO
  315.  
  316. CREATE FUNCTION shvedov.getLastTravelTime(@stateNumber VARCHAR(9))  
  317. RETURNS time
  318. AS  
  319. BEGIN
  320.     DECLARE lastTravelTimeCursor CURSOR FOR
  321.     SELECT crossingTime
  322.     FROM KN_303_shvedov.shvedov.TravelInformation
  323.     WHERE UPPER(@stateNumber) = shvedov.getstateNumber(stateNumberId)
  324.  
  325.     OPEN lastTravelTimeCursor
  326.     DECLARE @result time
  327.     FETCH NEXT FROM lastTravelTimeCursor INTO @result
  328.     CLOSE lastTravelTimeCursor
  329.     DEALLOCATE lastTravelTimeCursor
  330.     RETURN @result
  331. END;
  332. GO
  333.  
  334. CREATE TRIGGER shvedov.AddTravelInformation
  335.     ON KN_303_shvedov.shvedov.TravelInformationForInsert
  336.     INSTEAD OF INSERT
  337. AS BEGIN
  338.     DECLARE @stateNumber VARCHAR(9)
  339.     DECLARE @isInside INT
  340.     DECLARE @postId TINYINT
  341.     DECLARE @crossingTime DATETIME
  342.  
  343.     DECLARE travleCursor CURSOR FOR
  344.     SELECT stateNumber, isInside, postId, crossingTime
  345.     FROM inserted
  346.  
  347.     OPEN travleCursor
  348.     FETCH NEXT FROM travleCursor INTO @stateNumber, @isInside, @postId, @crossingTime
  349.  
  350.     WHILE @@FETCH_STATUS = 0
  351.     BEGIN
  352.             IF NOT EXISTS(SELECT id
  353.                 FROM KN_303_shvedov.shvedov.StateNumberInformation
  354.                 WHERE stateNumber = UPPER(@stateNumber))
  355.                 BEGIN
  356.                     INSERT INTO KN_303_shvedov.shvedov.StateNumberInformation (stateNumber) VALUES
  357.                     (UPPER(@stateNumber))
  358.                 END
  359.        
  360.             DECLARE tmpTableCursor CURSOR FOR
  361.                 SELECT TOP 1 id
  362.                 FROM KN_303_shvedov.shvedov.StateNumberInformation
  363.                 WHERE stateNumber = UPPER(@stateNumber)
  364.             OPEN tmpTableCursor
  365.             DECLARE @stateNumberId INT
  366.             FETCH NEXT FROM tmpTableCursor INTO @stateNumberId
  367.             CLOSE tmpTableCursor
  368.             DEALLOCATE tmpTableCursor
  369.             IF (shvedov.isCarInCity(@stateNumber) IS NULL OR shvedov.isCarInCity(@stateNumber) <> @isInside
  370.                 AND datediff(mi, shvedov.getLastTravelTime(@stateNumber), @crossingTime) >= 5)
  371.             BEGIN
  372.                 INSERT INTO KN_303_shvedov.shvedov.TravelInformation (stateNumberId, isInside, postId, crossingTime) VALUES
  373.                     (@stateNumberId, @isInside, @postId, @crossingTime)
  374.             END
  375.         FETCH NEXT FROM travleCursor INTO @stateNumber, @isInside, @postId, @crossingTime
  376.     END
  377.  
  378.     CLOSE travleCursor
  379.     DEALLOCATE travleCursor  
  380. END
  381. GO
  382.  
  383.  
  384.  
  385.  
  386. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getInsidePostId', N'FN') IS NOT NULL  
  387.    DROP FUNCTION shvedov.getInsidePostId;
  388. GO
  389.  
  390. CREATE FUNCTION shvedov.getInsidePostId(@stateNumber varchar(9))  
  391. RETURNS tinyint
  392. AS
  393. BEGIN
  394.     DECLARE getInsidePostIdCursor CURSOR FOR
  395.     SELECT postId
  396.     FROM KN_303_shvedov.shvedov.TravelInformation
  397.     WHERE stateNumberId = shvedov.getStateNumberId(@stateNumber) AND isInside = 1
  398.  
  399.     OPEN getInsidePostIdCursor
  400.     DECLARE @result tinyint
  401.     FETCH NEXT FROM getInsidePostIdCursor INTO @result
  402.     CLOSE getInsidePostIdCursor
  403.     DEALLOCATE getInsidePostIdCursor
  404.     RETURN @result
  405. END;
  406. GO
  407.  
  408. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getPostName', N'FN') IS NOT NULL  
  409.    DROP FUNCTION shvedov.getPostName;
  410. GO
  411.  
  412. CREATE FUNCTION shvedov.getPostName(@postId tinyint)
  413. RETURNS varchar(30)
  414. AS
  415. BEGIN
  416.     DECLARE getInsidePostIdCursor CURSOR FOR
  417.     SELECT postName
  418.     FROM KN_303_shvedov.shvedov.Post
  419.     WHERE postId = @postId
  420.  
  421.     OPEN getInsidePostIdCursor
  422.     DECLARE @result varchar(30)
  423.     FETCH NEXT FROM getInsidePostIdCursor INTO @result
  424.     CLOSE getInsidePostIdCursor
  425.     DEALLOCATE getInsidePostIdCursor
  426.     RETURN @result
  427. END;
  428. GO
  429.  
  430.  
  431. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getOutsidePostId', N'FN') IS NOT NULL  
  432.    DROP FUNCTION shvedov.getOutsidePostId;
  433. GO
  434.  
  435. CREATE FUNCTION shvedov.getOutsidePostId(@stateNumber varchar(9))  
  436. RETURNS tinyint
  437. AS
  438. BEGIN
  439.     DECLARE getOutsidePostIdCursor CURSOR FOR
  440.     SELECT postId
  441.     FROM KN_303_shvedov.shvedov.TravelInformation
  442.     WHERE stateNumberId = shvedov.getStateNumberId(@stateNumber) AND isInside = 0
  443.  
  444.     OPEN getOutsidePostIdCursor
  445.     DECLARE @result tinyint
  446.     FETCH NEXT FROM getOutsidePostIdCursor INTO @result
  447.     CLOSE getOutsidePostIdCursor
  448.     DEALLOCATE getOutsidePostIdCursor
  449.     RETURN @result
  450. END;
  451. GO
  452.  
  453. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getOutsideData', N'FN') IS NOT NULL  
  454.    DROP FUNCTION shvedov.getOutsidePostId;
  455. GO
  456.  
  457. CREATE FUNCTION shvedov.getOutsideData(@stateNumber varchar(9))  
  458. RETURNS time
  459. AS
  460. BEGIN
  461.     DECLARE getOutsidePostIdCursor CURSOR FOR
  462.     SELECT crossingTime
  463.     FROM KN_303_shvedov.shvedov.TravelInformation
  464.     WHERE stateNumberId = shvedov.getStateNumberId(@stateNumber) AND isInside = 0
  465.  
  466.     OPEN getOutsidePostIdCursor
  467.     DECLARE @result time
  468.     FETCH NEXT FROM getOutsidePostIdCursor INTO @result
  469.     CLOSE getOutsidePostIdCursor
  470.     DEALLOCATE getOutsidePostIdCursor
  471.     RETURN @result
  472. END;
  473. GO
  474.  
  475. IF OBJECT_ID (N'KN_303_shvedov.shvedov.getInsideData', N'FN') IS NOT NULL  
  476.    DROP FUNCTION shvedov.getOutsidePostId;
  477. GO
  478.  
  479. CREATE FUNCTION shvedov.getInsideData(@stateNumber varchar(9))  
  480. RETURNS time
  481. AS
  482. BEGIN
  483.     DECLARE getOutsidePostIdCursor CURSOR FOR
  484.     SELECT crossingTime
  485.     FROM KN_303_shvedov.shvedov.TravelInformation
  486.     WHERE stateNumberId = shvedov.getStateNumberId(@stateNumber) AND isInside = 1
  487.  
  488.     OPEN getOutsidePostIdCursor
  489.     DECLARE @result time
  490.     FETCH NEXT FROM getOutsidePostIdCursor INTO @result
  491.     CLOSE getOutsidePostIdCursor
  492.     DEALLOCATE getOutsidePostIdCursor
  493.     RETURN @result
  494. END;
  495. GO
  496.  
  497. IF OBJECT_ID (N'KN_303_shvedov.shvedov.isResident', N'FN') IS NOT NULL  
  498.    DROP FUNCTION shvedov.isResident;
  499. GO
  500.  
  501. CREATE FUNCTION shvedov.isResident(@stateNumberId int)  
  502. RETURNS bit
  503. AS
  504. BEGIN
  505.     if (shvedov.getRegionNumber(shvedov.getStateNumber(@stateNumberId)) = 66)
  506.         RETURN 1
  507.     RETURN 0
  508. END;
  509. GO
  510.  
  511. IF OBJECT_ID (N'KN_303_shvedov.shvedov.isTransit', N'FN') IS NOT NULL  
  512.    DROP FUNCTION shvedov.isTransit;
  513. GO
  514.  
  515. CREATE FUNCTION shvedov.isTransit(@stateNumberId int)  
  516. RETURNS bit
  517. AS
  518. BEGIN
  519.     IF (shvedov.isResident(@stateNumberId) = 0)
  520.     BEGIN
  521.         DECLARE @insidePostId tinyint = shvedov.getInsidePostId(shvedov.getStateNumber(@stateNumberId))
  522.         DECLARE @outsidePostId tinyint = shvedov.getOutsidePostId(shvedov.getStateNumber(@stateNumberId))
  523.         if (@insidePostId != @outsidePostId)
  524.             RETURN 1
  525.     END
  526.     RETURN 0
  527. END;
  528. GO
  529.  
  530. IF OBJECT_ID (N'KN_303_shvedov.shvedov.isNonresident', N'FN') IS NOT NULL  
  531.    DROP FUNCTION shvedov.isNonresident;
  532. GO
  533.  
  534. CREATE FUNCTION shvedov.isNonresident(@stateNumberId int)  
  535. RETURNS bit
  536. AS
  537. BEGIN
  538.     IF (shvedov.isResident(@stateNumberId) = 0)
  539.     BEGIN
  540.         DECLARE @insidePostId tinyint = shvedov.getInsidePostId(shvedov.getStateNumber(@stateNumberId))
  541.         DECLARE @outsidePostId tinyint = shvedov.getOutsidePostId(shvedov.getStateNumber(@stateNumberId))
  542.         if (@insidePostId = @outsidePostId)
  543.             RETURN 1
  544.     END
  545.     RETURN 0
  546. END;
  547. GO
  548.  
  549. INSERT INTO KN_303_shvedov.shvedov.TravelInformationForInsert (stateNumber, isInside, postId, crossingTime) VALUES
  550.     ('В725ХТ777', 1, 3, CONVERT(time, '0:5'))
  551. ,('У130ЕА777', 0, 3, CONVERT(time, '0:10'))
  552. ,('В771КВ777', 0, 1, CONVERT(time, '0:19'))
  553. ,('Х424АХ66', 1, 1, CONVERT(time, '0:22'))
  554. ,('Е700МВ77', 1, 1, CONVERT(time, '0:30'))
  555. ,('Н677СО102', 1, 2, CONVERT(time, '0:39'))
  556. ,('М642АА777', 1, 1, CONVERT(time, '0:41'))
  557. ,('М233ХЕ66', 1, 2, CONVERT(time, '0:49'))
  558. ,('Н649ХТ777', 1, 2, CONVERT(time, '0:50'))
  559. ,('У671НО777', 0, 0, CONVERT(time, '0:59'))
  560. ,('А587КЕ77', 0, 0, CONVERT(time, '1:1'))
  561. ,('С886НЕ77', 1, 0, CONVERT(time, '1:10'))
  562. ,('В771КВ777', 1, 1, CONVERT(time, '1:12'))
  563. ,('У544ВН777', 0, 0, CONVERT(time, '1:17'))
  564. ,('Е700МВ77', 1, 2, CONVERT(time, '1:22'))
  565. ,('Н322ХЕ77', 1, 0, CONVERT(time, '1:23'))
  566. ,('Е700МВ77', 1, 2, CONVERT(time, '1:26'))
  567. ,('У730СВ177', 1, 3, CONVERT(time, '1:32'))
  568. ,('О683РЕ66', 1, 0, CONVERT(time, '1:32'))
  569. ,('С253УО66', 1, 0, CONVERT(time, '1:39'))
  570. ,('Х891МУ102', 1, 3, CONVERT(time, '1:45'))
  571. ,('М722СР66', 1, 0, CONVERT(time, '1:50'))
  572. ,('М070РР77', 0, 2, CONVERT(time, '1:53'))
  573. ,('К186ХМ66', 0, 2, CONVERT(time, '1:56'))
  574. ,('М117ВР777', 1, 2, CONVERT(time, '2:3'))
  575. ,('Н227СН02', 1, 2, CONVERT(time, '2:10'))
  576. ,('Х329СВ66', 1, 1, CONVERT(time, '2:17'))
  577. ,('М305ТА102', 1, 3, CONVERT(time, '2:20'))
  578. ,('В771КВ777', 1, 2, CONVERT(time, '2:29'))
  579. ,('С444РО77', 0, 1, CONVERT(time, '2:33'))
  580. ,('С842ВМ66', 0, 3, CONVERT(time, '2:35'))
  581. ,('Х891МУ102', 0, 0, CONVERT(time, '2:36'))
  582. ,('У544ВН777', 1, 2, CONVERT(time, '2:43'))
  583. ,('Х424АХ66', 0, 0, CONVERT(time, '2:46'))
  584. ,('У544ВН777', 1, 1, CONVERT(time, '2:50'))
  585. ,('В416МХ177', 0, 3, CONVERT(time, '2:53'))
  586. ,('Х976РО77', 0, 3, CONVERT(time, '2:54'))
  587. ,('Т732ЕС102', 1, 1, CONVERT(time, '2:59'))
  588. ,('К787ОХ102', 0, 0, CONVERT(time, '3:4'))
  589. ,('Е253ХХ66', 1, 0, CONVERT(time, '3:12'))
  590. ,('О683РЕ66', 0, 1, CONVERT(time, '3:13'))
  591. ,('О721СВ02', 0, 1, CONVERT(time, '3:22'))
  592. ,('А631КН777', 1, 2, CONVERT(time, '3:23'))
  593. ,('А593ЕХ66', 0, 1, CONVERT(time, '3:23'))
  594. ,('Н044ВС66', 0, 0, CONVERT(time, '3:32'))
  595. ,('О409ХК102', 1, 0, CONVERT(time, '3:36'))
  596. ,('К485ОС177', 0, 3, CONVERT(time, '3:42'))
  597. ,('Е665АТ177', 1, 1, CONVERT(time, '3:45'))
  598. ,('О409ХК102', 0, 1, CONVERT(time, '3:49'))
  599. ,('А393СЕ777', 0, 1, CONVERT(time, '3:55'))
  600. ,('О409ХК102', 0, 3, CONVERT(time, '4:3'))
  601. ,('Х329СВ66', 1, 2, CONVERT(time, '4:9'))
  602. ,('О407УХ777', 0, 3, CONVERT(time, '4:15'))
  603. ,('О601ВУ02', 1, 1, CONVERT(time, '4:21'))
  604. ,('Т732ЕС102', 1, 1, CONVERT(time, '4:25'))
  605. ,('Н544КТ77', 0, 2, CONVERT(time, '4:33'))
  606. ,('Т034КВ02', 1, 2, CONVERT(time, '4:35'))
  607. ,('М913ХН177', 0, 0, CONVERT(time, '4:38'))
  608. ,('Т732ЕС102', 0, 3, CONVERT(time, '4:39'))
  609. ,('Х329СВ66', 0, 0, CONVERT(time, '4:48'))
  610. ,('Н592ХМ777', 1, 2, CONVERT(time, '4:54'))
  611. ,('Е076ЕВ177', 1, 2, CONVERT(time, '5:3'))
  612. ,('М913ХН177', 0, 0, CONVERT(time, '5:8'))
  613. ,('В561ТН177', 1, 0, CONVERT(time, '5:16'))
  614. ,('К361ВН102', 1, 2, CONVERT(time, '5:22'))
  615. ,('Н544КТ77', 0, 1, CONVERT(time, '5:25'))
  616. ,('Х891МУ102', 1, 0, CONVERT(time, '5:33'))
  617. ,('Р292ХО66', 0, 1, CONVERT(time, '5:34'))
  618. ,('У209СМ777', 1, 0, CONVERT(time, '5:38'))
  619. ,('М225УУ777', 1, 1, CONVERT(time, '5:40'))
  620. ,('Х329СВ66', 0, 2, CONVERT(time, '5:49'))
  621. ,('К958МО66', 1, 1, CONVERT(time, '5:55'))
  622. ,('Н649ХТ777', 1, 3, CONVERT(time, '5:57'))
  623. ,('С416ТА102', 0, 3, CONVERT(time, '6:4'))
  624. ,('А436ХО777', 0, 2, CONVERT(time, '6:5'))
  625. ,('С444РО77', 0, 1, CONVERT(time, '6:7'))
  626. ,('А593ЕХ66', 1, 1, CONVERT(time, '6:14'))
  627. ,('К958МО66', 0, 2, CONVERT(time, '6:14'))
  628. ,('К583НР02', 0, 2, CONVERT(time, '6:17'))
  629. ,('А785ТН02', 0, 2, CONVERT(time, '6:20'))
  630. ,('Х012РЕ102', 0, 2, CONVERT(time, '6:24'))
  631. ,('А631КН777', 1, 0, CONVERT(time, '6:27'))
  632. ,('С416ТА102', 1, 3, CONVERT(time, '6:36'))
  633. ,('А587КЕ77', 1, 1, CONVERT(time, '6:42'))
  634. ,('Н322ХЕ77', 1, 1, CONVERT(time, '6:49'))
  635. ,('О906МВ777', 0, 2, CONVERT(time, '6:49'))
  636. ,('Р983НМ777', 0, 2, CONVERT(time, '6:55'))
  637. ,('Н255КК102', 0, 2, CONVERT(time, '6:55'))
  638. ,('Р983НМ777', 0, 0, CONVERT(time, '7:3'))
  639. ,('С842ВМ66', 1, 2, CONVERT(time, '7:10'))
  640. ,('О135ТО177', 1, 1, CONVERT(time, '7:11'))
  641. ,('С253УО66', 0, 1, CONVERT(time, '7:17'))
  642. ,('О601ВУ02', 1, 0, CONVERT(time, '7:23'))
  643. ,('Е700МВ77', 1, 1, CONVERT(time, '7:27'))
  644. ,('С253УО66', 0, 1, CONVERT(time, '7:36'))
  645. ,('Р544ОС777', 1, 1, CONVERT(time, '7:45'))
  646. ,('С886НЕ77', 1, 0, CONVERT(time, '7:49'))
  647. ,('В771КВ777', 0, 2, CONVERT(time, '7:55'))
  648. ,('К485ОС177', 0, 1, CONVERT(time, '7:55'))
  649. ,('К583НР02', 1, 3, CONVERT(time, '7:59'))
  650. ,('В416МХ177', 0, 0, CONVERT(time, '8:6'))
  651. ,('С416ТА102', 0, 0, CONVERT(time, '8:8'))
  652. ,('У181АН66', 0, 0, CONVERT(time, '8:10'))
  653. ,('Х703РН77', 0, 0, CONVERT(time, '8:12'))
  654. ,('А194ОС66', 1, 1, CONVERT(time, '8:14'))
  655. ,('К800МУ177', 0, 2, CONVERT(time, '8:15'))
  656. ,('К485ОС177', 1, 0, CONVERT(time, '8:16'))
  657. ,('Е253ХХ66', 0, 1, CONVERT(time, '8:16'))
  658. ,('Х329СВ66', 0, 2, CONVERT(time, '8:21'))
  659. ,('М786СС177', 1, 3, CONVERT(time, '8:28'))
  660. ,('К186ХМ66', 0, 0, CONVERT(time, '8:37'))
  661. ,('К485ОС177', 0, 2, CONVERT(time, '8:44'))
  662. ,('М437МУ777', 1, 3, CONVERT(time, '8:46'))
  663. ,('К186ХМ66', 0, 1, CONVERT(time, '8:50'))
  664. ,('Х621ЕО66', 0, 0, CONVERT(time, '8:55'))
  665. ,('Р931КВ177', 0, 2, CONVERT(time, '8:56'))
  666. ,('К958МО66', 0, 2, CONVERT(time, '8:59'))
  667. ,('У097МЕ102', 1, 1, CONVERT(time, '9:6'))
  668. ,('К800МУ177', 1, 1, CONVERT(time, '9:9'))
  669. ,('Е076ЕВ177', 0, 2, CONVERT(time, '9:12'))
  670. ,('Х424АХ66', 0, 2, CONVERT(time, '9:20'))
  671. ,('В561ТН177', 1, 2, CONVERT(time, '9:20'))
  672. ,('А631КН777', 0, 0, CONVERT(time, '9:22'))
  673. ,('Х621ЕО66', 1, 1, CONVERT(time, '9:29'))
  674. ,('О601ВУ02', 0, 2, CONVERT(time, '9:36'))
  675. ,('Х329СВ66', 0, 0, CONVERT(time, '9:40'))
  676. ,('К223УС777', 1, 2, CONVERT(time, '9:46'))
  677. ,('Т034КВ02', 0, 3, CONVERT(time, '9:47'))
  678. ,('К787ОХ102', 1, 0, CONVERT(time, '9:47'))
  679. ,('Н649ХТ777', 1, 0, CONVERT(time, '9:48'))
  680. ,('У097МЕ102', 1, 3, CONVERT(time, '9:49'))
  681. ,('Н544КТ77', 1, 3, CONVERT(time, '9:56'))
  682. ,('Н771КН177', 1, 1, CONVERT(time, '10:5'))
  683. ,('Х928УУ177', 1, 1, CONVERT(time, '10:13'))
  684. ,('М722СР66', 0, 2, CONVERT(time, '10:14'))
  685. ,('К800МУ177', 0, 1, CONVERT(time, '10:22'))
  686. ,('В876ТЕ77', 1, 3, CONVERT(time, '10:31'))
  687. ,('А371КМ02', 1, 3, CONVERT(time, '10:34'))
  688. ,('С030ХЕ66', 1, 2, CONVERT(time, '10:41'))
  689. ,('Е076ЕВ177', 1, 1, CONVERT(time, '10:50'))
  690. ,('У671НО777', 0, 0, CONVERT(time, '10:54'))
  691. ,('М070РР77', 1, 2, CONVERT(time, '10:59'))
  692. ,('С886НЕ77', 1, 2, CONVERT(time, '11:4'))
  693. ,('К583НР02', 0, 3, CONVERT(time, '11:6'))
  694. ,('В416МХ177', 1, 0, CONVERT(time, '11:7'))
  695. ,('Н028АЕ777', 0, 1, CONVERT(time, '11:7'))
  696. ,('К787ОХ102', 1, 0, CONVERT(time, '11:16'))
  697. ,('Н482НР177', 0, 3, CONVERT(time, '11:25'))
  698. ,('М913ХН177', 1, 2, CONVERT(time, '11:33'))
  699. ,('А936ТО66', 1, 3, CONVERT(time, '11:36'))
  700. ,('А936ТО66', 1, 3, CONVERT(time, '11:41'))
  701. ,('Х891МУ102', 1, 2, CONVERT(time, '11:43'))
  702. ,('В416МХ177', 0, 0, CONVERT(time, '11:50'))
  703. ,('Н482НР177', 0, 3, CONVERT(time, '11:53'))
  704. ,('К485ОС177', 1, 0, CONVERT(time, '11:58'))
  705. ,('Н482НР177', 0, 1, CONVERT(time, '12:2'))
  706. ,('Н649ХТ777', 0, 1, CONVERT(time, '12:7'))
  707. ,('Х891МУ102', 1, 1, CONVERT(time, '12:11'))
  708. ,('М642АА777', 0, 3, CONVERT(time, '12:12'))
  709. ,('С253УО66', 0, 0, CONVERT(time, '12:13'))
  710. ,('Р292ХО66', 0, 0, CONVERT(time, '12:18'))
  711. ,('А416ТТ102', 0, 2, CONVERT(time, '12:22'))
  712. ,('Р983НМ777', 0, 1, CONVERT(time, '12:29'))
  713. ,('У730СВ177', 0, 1, CONVERT(time, '12:32'))
  714. ,('О683РЕ66', 0, 0, CONVERT(time, '12:35'))
  715. ,('О721СВ02', 0, 2, CONVERT(time, '12:38'))
  716. ,('В416МХ177', 0, 0, CONVERT(time, '12:46'))
  717. ,('Н227СН02', 1, 0, CONVERT(time, '12:52'))
  718. ,('Н592ХМ777', 1, 3, CONVERT(time, '12:58'))
  719. ,('М225УУ777', 0, 0, CONVERT(time, '12:59'))
  720. ,('М225УУ777', 0, 2, CONVERT(time, '13:8'))
  721. ,('Х928УУ177', 1, 3, CONVERT(time, '13:9'))
  722. ,('О601ВУ02', 0, 3, CONVERT(time, '13:18'))
  723. ,('Х928УУ177', 0, 3, CONVERT(time, '13:23'))
  724. ,('С253УО66', 1, 1, CONVERT(time, '13:32'))
  725. ,('У097МЕ102', 1, 1, CONVERT(time, '13:38'))
  726. ,('Н322ХЕ77', 1, 2, CONVERT(time, '13:44'))
  727. ,('Н028АЕ777', 1, 1, CONVERT(time, '13:46'))
  728. ,('Т391ВН02', 0, 3, CONVERT(time, '13:46'))
  729. ,('В561ТН177', 1, 0, CONVERT(time, '13:53'))
  730. ,('Х239АУ77', 1, 3, CONVERT(time, '14:2'))
  731. ,('А194ОС66', 1, 3, CONVERT(time, '14:3'))
  732. ,('В789АО77', 0, 0, CONVERT(time, '14:10'))
  733. ,('А631КН777', 1, 1, CONVERT(time, '14:17'))
  734. ,('Р931КВ177', 0, 2, CONVERT(time, '14:20'))
  735. ,('Н592ХМ777', 1, 3, CONVERT(time, '14:23'))
  736. ,('Х424АХ66', 0, 2, CONVERT(time, '14:23'))
  737. ,('А785ТН02', 1, 3, CONVERT(time, '14:28'))
  738. ,('Р544ОС777', 1, 3, CONVERT(time, '14:31'))
  739. ,('М411СМ66', 1, 0, CONVERT(time, '14:34'))
  740. ,('Т391ВН02', 1, 0, CONVERT(time, '14:36'))
  741. ,('С253УО66', 1, 3, CONVERT(time, '14:40'))
  742. ,('О407УХ777', 1, 1, CONVERT(time, '14:42'))
  743. ,('К787ОХ102', 0, 0, CONVERT(time, '14:47'))
  744. ,('К361ВН102', 0, 3, CONVERT(time, '14:51'))
  745. ,('Е700МВ77', 0, 0, CONVERT(time, '14:51'))
  746. ,('Р983НМ777', 1, 1, CONVERT(time, '15:0'))
  747. ,('Х012РЕ102', 1, 3, CONVERT(time, '15:3'))
  748. ,('В725ХТ777', 0, 1, CONVERT(time, '15:11'))
  749. ,('О792НМ02', 1, 3, CONVERT(time, '15:13'))
  750. ,('Н677СО102', 1, 1, CONVERT(time, '15:21'))
  751. ,('О528ТХ66', 0, 0, CONVERT(time, '15:27'))
  752. ,('Е253ХХ66', 0, 1, CONVERT(time, '15:30'))
  753. ,('Н649ХТ777', 1, 0, CONVERT(time, '15:31'))
  754. ,('Т391ВН02', 1, 1, CONVERT(time, '15:40'))
  755. ,('Х424АХ66', 0, 1, CONVERT(time, '15:49'))
  756. ,('А194ОС66', 0, 2, CONVERT(time, '15:57'))
  757. ,('О528ТХ66', 0, 3, CONVERT(time, '16:2'))
  758. ,('У130ЕА777', 1, 2, CONVERT(time, '16:5'))
  759. ,('Н677СО102', 1, 2, CONVERT(time, '16:12'))
  760. ,('Н592СЕ777', 0, 2, CONVERT(time, '16:16'))
  761. ,('А436ХО777', 0, 3, CONVERT(time, '16:19'))
  762. ,('У544ВН777', 1, 3, CONVERT(time, '16:25'))
  763. ,('М722СР66', 0, 2, CONVERT(time, '16:26'))
  764. ,('О288УВ102', 0, 2, CONVERT(time, '16:27'))
  765. ,('М437МУ777', 0, 1, CONVERT(time, '16:35'))
  766. ,('К787ОХ102', 0, 0, CONVERT(time, '16:43'))
  767. ,('У544ВН777', 0, 1, CONVERT(time, '16:50'))
  768. ,('М233ХЕ66', 1, 2, CONVERT(time, '16:56'))
  769. ,('О135ТО177', 1, 0, CONVERT(time, '17:0'))
  770. ,('О906МВ777', 0, 2, CONVERT(time, '17:1'))
  771. ,('С842ВМ66', 1, 3, CONVERT(time, '17:1'))
  772. ,('К361ВН102', 1, 2, CONVERT(time, '17:7'))
  773. ,('К186ХМ66', 0, 0, CONVERT(time, '17:7'))
  774. ,('С842ВМ66', 0, 0, CONVERT(time, '17:14'))
  775. ,('Н255КК102', 0, 2, CONVERT(time, '17:23'))
  776. ,('Т391ВН02', 1, 2, CONVERT(time, '17:28'))
  777. ,('А785ТН02', 1, 3, CONVERT(time, '17:37'))
  778. ,('С416ТА102', 0, 1, CONVERT(time, '17:43'))
  779. ,('Т732ЕС102', 0, 0, CONVERT(time, '17:47'))
  780. ,('У130ЕА777', 1, 3, CONVERT(time, '17:51'))
  781. ,('М786СС177', 0, 2, CONVERT(time, '17:54'))
  782. ,('А371КМ02', 1, 2, CONVERT(time, '18:2'))
  783. ,('Т194АК777', 0, 2, CONVERT(time, '18:8'))
  784. ,('К583НР02', 1, 2, CONVERT(time, '18:9'))
  785. ,('М117ВР777', 1, 1, CONVERT(time, '18:17'))
  786. ,('М411СМ66', 0, 2, CONVERT(time, '18:18'))
  787. ,('М913ХН177', 0, 2, CONVERT(time, '18:22'))
  788. ,('У097МЕ102', 1, 3, CONVERT(time, '18:31'))
  789. ,('Н771КН177', 1, 0, CONVERT(time, '18:34'))
  790. ,('А593ЕХ66', 0, 2, CONVERT(time, '18:42'))
  791. ,('М786СС177', 1, 2, CONVERT(time, '18:43'))
  792. ,('С842ВМ66', 0, 2, CONVERT(time, '18:47'))
  793. ,('Т034КВ02', 0, 1, CONVERT(time, '18:47'))
  794. ,('М722СР66', 1, 3, CONVERT(time, '18:47'))
  795. ,('М642АА777', 0, 1, CONVERT(time, '18:48'))
  796. ,('Р983НМ777', 1, 0, CONVERT(time, '18:48'))
  797. ,('Х703РН77', 1, 0, CONVERT(time, '18:54'))
  798. ,('М437МУ777', 0, 0, CONVERT(time, '18:55'))
  799. ,('А371КМ02', 0, 3, CONVERT(time, '19:1'))
  800. ,('А936ТО66', 1, 3, CONVERT(time, '19:10'))
  801. ,('А936ТО66', 0, 3, CONVERT(time, '19:15'))
  802. ,('Н028АЕ777', 0, 0, CONVERT(time, '19:22'))
  803. ,('Х239АУ77', 1, 3, CONVERT(time, '19:25'))
  804. ,('М233ХЕ66', 1, 3, CONVERT(time, '19:26'))
  805. ,('В725ХТ777', 1, 1, CONVERT(time, '19:35'))
  806. ,('А936ТО66', 0, 3, CONVERT(time, '19:39'))
  807. ,('К958МО66', 0, 3, CONVERT(time, '19:39'))
  808. ,('А785ТН02', 0, 0, CONVERT(time, '19:42'))
  809. ,('Х703РН77', 0, 2, CONVERT(time, '19:51'))
  810. ,('У770СС66', 1, 1, CONVERT(time, '19:58'))
  811. ,('М642АА777', 1, 0, CONVERT(time, '20:2'))
  812. ,('В771КВ777', 0, 2, CONVERT(time, '20:10'))
  813. ,('Р544ОС777', 0, 1, CONVERT(time, '20:15'))
  814. ,('О407УХ777', 0, 2, CONVERT(time, '20:23'))
  815. ,('О906МВ777', 1, 0, CONVERT(time, '20:23'))
  816. ,('О528ТХ66', 0, 2, CONVERT(time, '20:23'))
  817. ,('Р931КВ177', 1, 3, CONVERT(time, '20:26'))
  818. ,('К485ОС177', 1, 1, CONVERT(time, '20:28'))
  819. ,('Р931КВ177', 0, 3, CONVERT(time, '20:31'))
  820. ,('М411СМ66', 0, 3, CONVERT(time, '20:37'))
  821. ,('О456ТО66', 1, 2, CONVERT(time, '20:37'))
  822. ,('У209СМ777', 0, 3, CONVERT(time, '20:41'))
  823. ,('О906МВ777', 1, 3, CONVERT(time, '20:49'))
  824. ,('У544ВН777', 1, 3, CONVERT(time, '20:49'))
  825. ,('Р931КВ177', 0, 1, CONVERT(time, '20:50'))
  826. ,('Т034КВ02', 1, 2, CONVERT(time, '20:58'))
  827. ,('Е950ЕР777', 0, 0, CONVERT(time, '21:2'))
  828. ,('Р931КВ177', 1, 2, CONVERT(time, '21:4'))
  829. ,('О792НМ02', 1, 3, CONVERT(time, '21:10'))
  830. ,('О683РЕ66', 1, 3, CONVERT(time, '21:19'))
  831. ,('М642АА777', 1, 3, CONVERT(time, '21:23'))
  832. ,('В771КВ777', 0, 2, CONVERT(time, '21:25'))
  833. ,('О683РЕ66', 0, 0, CONVERT(time, '21:30'))
  834. ,('М411СМ66', 1, 2, CONVERT(time, '21:36'))
  835. ,('Т034КВ02', 1, 3, CONVERT(time, '21:42'))
  836. ,('Х891МУ102', 1, 0, CONVERT(time, '21:49'))
  837. ,('Р544ОС777', 0, 0, CONVERT(time, '21:52'))
  838. ,('Е665АТ177', 1, 1, CONVERT(time, '21:53'))
  839. ,('Х928УУ177', 1, 1, CONVERT(time, '22:2'))
  840. ,('М305ТА102', 1, 2, CONVERT(time, '22:4'))
  841. ,('К787ОХ102', 0, 0, CONVERT(time, '22:7'))
  842. ,('М305ТА102', 1, 2, CONVERT(time, '22:13'))
  843. ,('О456ТО66', 1, 3, CONVERT(time, '22:19'))
  844. ,('М722СР66', 1, 0, CONVERT(time, '22:25'))
  845. ,('К485ОС177', 1, 1, CONVERT(time, '22:29'))
  846. ,('Н044ВС66', 0, 3, CONVERT(time, '22:31'))
  847. ,('Н592СЕ777', 0, 1, CONVERT(time, '22:35'))
  848. ,('Х329СВ66', 0, 3, CONVERT(time, '22:38'))
  849. ,('А785ТН02', 0, 3, CONVERT(time, '22:40'))
  850. ,('Н592ХМ777', 1, 2, CONVERT(time, '22:47'))
  851. ,('С253УО66', 0, 3, CONVERT(time, '22:51'))
  852. ,('Х891МУ102', 0, 1, CONVERT(time, '22:51'))
  853. ,('Е253ХХ66', 0, 2, CONVERT(time, '22:53'))
  854. ,('Х239АУ77', 0, 3, CONVERT(time, '22:57'))
  855. ,('М070РР77', 0, 0, CONVERT(time, '23:6'))
  856. ,('Е937ХР777', 1, 0, CONVERT(time, '23:6'))
  857. ,('А785ТН02', 1, 0, CONVERT(time, '23:12'))
  858. ,('А936ТО66', 0, 1, CONVERT(time, '23:20'))
  859. ,('О407УХ777', 0, 0, CONVERT(time, '23:20'))
  860. ,('М225УУ777', 1, 1, CONVERT(time, '23:25'))
  861. ,('Н677СО102', 0, 0, CONVERT(time, '23:32'))
  862. ,('М411СМ66', 0, 0, CONVERT(time, '23:36'))
  863. ,('Р544ОС777', 0, 1, CONVERT(time, '23:36'))
  864. ,('К223УС777', 0, 2, CONVERT(time, '23:41'))
  865. ,('В771КВ777', 0, 0, CONVERT(time, '23:47'))
  866. ,('Н028АЕ777', 1, 1, CONVERT(time, '23:48'))
  867. ,('У209СМ777', 0, 1, CONVERT(time, '23:51'))
  868.  
  869. GO
  870.  
  871. -- Иногородние автомобили
  872. CREATE VIEW NotResidentCars AS
  873. SELECT stateNumber as 'Гос. номер',
  874.         r.regionName as 'Регион',
  875.         shvedov.getPostName(shvedov.getInsidePostId(stateNumber)) as 'Въезд через пост',
  876.         shvedov.getPostName(shvedov.getOutsidePostId(stateNumber)) as 'Выезд через пост'
  877. FROM KN_303_shvedov.shvedov.StateNumberInformation as sni,
  878.      KN_303_shvedov.shvedov.Regions as r
  879. WHERE  sni.regionNumber = r.regionNumber AND shvedov.isNonresident(id) = 1
  880. GO
  881.  
  882. -- Транзитные автомобили
  883. CREATE VIEW TransitCars AS
  884. SELECT stateNumber as 'Гос. номер',
  885.         r.regionName as 'Регион',
  886.         shvedov.getPostName(shvedov.getInsidePostId(stateNumber)) as 'Въезд через пост',
  887.         shvedov.getPostName(shvedov.getOutsidePostId(stateNumber)) as 'Выезд через пост'
  888. FROM KN_303_shvedov.shvedov.StateNumberInformation as sni,
  889.      KN_303_shvedov.shvedov.Regions as r
  890. WHERE  sni.regionNumber = r.regionNumber AND shvedov.isTransit(id) = 1
  891. GO
  892.  
  893. --Местные атомобили
  894. CREATE VIEW LocalCars AS
  895. SELECT stateNumber as 'Гос. номер',
  896.         r.regionName as 'Регион'
  897. FROM KN_303_shvedov.shvedov.StateNumberInformation as sni,
  898.      KN_303_shvedov.shvedov.Regions as r
  899. WHERE  r.regionNumber = '66'
  900. GO
  901.  
  902.  
  903.  
  904.  
  905. --Всего автомобилей
  906. CREATE VIEW AllCars AS
  907. SELECT count(*) AS 'Всего автомобилей'
  908. from KN_303_shvedov.shvedov.StateNumberInformation
  909. GO
  910.  
  911. --Количество прочих автомобилей
  912. CREATE VIEW AnotherCars AS
  913.     SELECT COUNT(*) AS 'Количество других автомобилей'
  914.     from KN_303_shvedov.shvedov.StateNumberInformation as sni,
  915.         KN_303_shvedov.shvedov.Regions as r
  916.     WHERE  sni.regionNumber = r.regionNumber AND shvedov.isResident(sni.id) != 1 AND shvedov.isTransit(sni.id) != 1 AND shvedov.isNonresident(sni.id) != 1
  917. GO
  918.  
  919. --Все автомобили
  920. CREATE VIEW AllCarsData AS
  921.     SELECT sni.stateNumber AS 'Гос номер',
  922.         r.regionName AS 'Регион',
  923.         shvedov.getInsideData(sni.stateNumber) AS 'Время въезда',
  924.         shvedov.getOutsideData(sni.stateNumber) AS 'Время выезда'
  925.     from KN_303_shvedov.shvedov.StateNumberInformation as sni,
  926.         KN_303_shvedov.shvedov.Regions as r,
  927.         KN_303_shvedov.shvedov.TravelInformation ti
  928.     WHERE  sni.regionNumber = r.regionNumber AND ti.stateNumberId = sni.id
  929. GO
  930.  
  931. select * from AllCarsData
  932. ORDER BY 'Регион';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement