SaveText.Ru

Без имени
  1. --rf_ТоварID
  2. --rf_ТехХарID
  3. --Значение_Характеристики
  4. -- 1000-4000MГц
  5. USE LikeDNS
  6.  
  7. declare @RandomNumb int
  8. declare @Counter int
  9. declare @Tovar int
  10. declare @Value1 nvarchar(MAX)
  11. declare @Value2 nvarchar(MAX)
  12. declare @Yadra int
  13. declare @Clock int
  14. declare @TypeDIMM nvarchar(MAX)
  15. declare @TypeSODIMM nvarchar(MAX)
  16. declare @FormFactor nvarchar(MAX)
  17. declare @TypeGDDR nvarchar(MAX)
  18. declare @VideoChip int
  19. declare @VideoSpeed int
  20. declare @DIMMClock int
  21. declare @FormFactorPU nvarchar(MAX)
  22. declare @PU int
  23. declare @Corpus nvarchar(MAX)
  24. declare @CorpusConstraction nvarchar(MAX)
  25. declare @Height int
  26. declare @PumpPort nvarchar(MAX)
  27. declare @Size nvarchar(MAX)
  28. declare @FanPort nvarchar(MAX)
  29. declare @SSDInterface nvarchar(MAX)
  30. declare @SSDInterfaceM2 nvarchar(MAX)
  31. declare @SSDFormFactor nvarchar(MAX)
  32. declare @SSDFormFactorM2 nvarchar(MAX)
  33. declare @HDD int
  34. declare @50Procent int
  35.  
  36. set @Counter = 0
  37. --set @Tovar = 0
  38. while(@Counter < 1402)
  39. begin
  40.         --AMD
  41.         set @RandomNumb = ROUND(1 + (RAND() * 2),0)
  42.                 if @RandomNumb = 1 set @Value1 = 'AM3+'
  43.                 if @RandomNumb = 2 set @Value1 = 'AM4'
  44.                 if @RandomNumb = 3 set @Value1 = 'sTRX4'
  45.         --Intel
  46.         set @RandomNumb = ROUND(1 + (RAND() * 2),0)
  47.                 if @RandomNumb = 1 set @Value2 = 'LGA 1151-v2'
  48.                 if @RandomNumb = 2 set @Value2 = 'LGA 1200'
  49.                 if @RandomNumb = 3 set @Value2 = 'LGA 2066'
  50.         set @Yadra = ROUND(1 + (RAND() * 3),0)
  51.         set @Clock = ROUND(1 + (RAND() * 3),0) * 1000
  52.         --DDR, DDR2, DDR3, DDR3L, DDR4
  53.         set @RandomNumb = ROUND(1 + (RAND() * 4),0)
  54.                 if @RandomNumb = 1 set @TypeDIMM = 'DDR'
  55.                 if @RandomNumb = 2 set @TypeDIMM = 'DDR2'
  56.                 if @RandomNumb = 3 set @TypeDIMM = 'DDR3'
  57.                 if @RandomNumb = 4 set @TypeDIMM = 'DDR3L'
  58.                 if @RandomNumb = 5 set @TypeDIMM = 'DDR4'
  59.         set @RandomNumb = ROUND(1 + (RAND() * 1),0)
  60.                 if @RandomNumb = 1 set @TypeSODIMM = 'DIMM'
  61.                 if @RandomNumb = 2 set @TypeSODIMM = 'SO-DIMM'
  62.         --XL-ATX, E‑ATX, Micro-ATX, Mini-ITX, Mini-DTX, Standart-ATX
  63.         set @RandomNumb = ROUND(1 + (RAND() * 5),0)
  64.                 if @RandomNumb = 1 set @FormFactor = 'XL-ATX'
  65.                 if @RandomNumb = 2 set @FormFactor = 'E‑ATX'
  66.                 if @RandomNumb = 3 set @FormFactor = 'Micro-ATX'
  67.                 if @RandomNumb = 4 set @FormFactor = 'Mini-ITX'
  68.                 if @RandomNumb = 5 set @FormFactor = 'Mini-DTX'
  69.                 if @RandomNumb = 6 set @FormFactor = 'Standart-ATX'
  70.         --GDDR3, GDDR4, GDDR5, GDDR6, GDDR6X
  71.         set @RandomNumb = ROUND(1 + (RAND() * 4),0)
  72.                 if @RandomNumb = 1 set @TypeGDDR = 'GDDR3'
  73.                 if @RandomNumb = 2 set @TypeGDDR = 'GDDR4'
  74.                 if @RandomNumb = 3 set @TypeGDDR = 'GDDR5'
  75.                 if @RandomNumb = 4 set @TypeGDDR = 'GDDR6'
  76.                 if @RandomNumb = 5 set @TypeGDDR = 'GDDR6X'
  77.         set @VideoChip = ROUND(800 + (RAND() * 600),0)
  78.         set @VideoSpeed = ROUND(1 + (RAND() * 20),0)
  79.         set @DIMMClock = ROUND(1000 + (RAND() * 3000),0)
  80.         --FlexATX/внешний БП/TFX/SFX/ATX
  81.         set @RandomNumb = ROUND(1 + (RAND() * 4),0)
  82.                 if @RandomNumb = 1 set @FormFactorPU = 'FlexATX'
  83.                 if @RandomNumb = 2 set @FormFactorPU = 'внешний БП'
  84.                 if @RandomNumb = 3 set @FormFactorPU = 'TFX'
  85.                 if @RandomNumb = 4 set @FormFactorPU = 'SFX'
  86.                 if @RandomNumb = 5 set @FormFactorPU = 'ATX'
  87.         set @PU = ROUND(100 + (RAND() * 1000),0)
  88.         --Full-Tower/NUC/Desktop/Slim/нестандартный/Super-Ultra-Tower/Mini-Tower/Mid-Tower
  89.                 set @RandomNumb = ROUND(1 + (RAND() * 7),0)
  90.                 if @RandomNumb = 1 set @Corpus = 'Full-Tower'
  91.                 if @RandomNumb = 2 set @Corpus = 'NUC'
  92.                 if @RandomNumb = 3 set @Corpus = 'Desktop'
  93.                 if @RandomNumb = 4 set @Corpus = 'Slim'
  94.                 if @RandomNumb = 5 set @Corpus = 'нестандартный'
  95.                 if @RandomNumb = 6 set @Corpus = 'Super-Ultra-Tower'
  96.                 if @RandomNumb = 7 set @Corpus = 'Mini-Tower'
  97.                 if @RandomNumb = 8 set @Corpus = 'Mid-Tower'
  98.         --горизонтальный, башенный, пассивный,горизонтально-башенный
  99.         set @RandomNumb = ROUND(1 + (RAND() * 3),0)
  100.                 if @RandomNumb = 1 set @CorpusConstraction = 'горизонтальный'
  101.                 if @RandomNumb = 2 set @CorpusConstraction = 'башенный'
  102.                 if @RandomNumb = 3 set @CorpusConstraction = 'пассивный'
  103.                 if @RandomNumb = 4 set @CorpusConstraction = 'горизонтально-башенный'
  104.         set @Height = ROUND(60 + (RAND() * 100),0)
  105.         --3-pin, 4-pin, SATA 15pin, molex
  106.         set @RandomNumb = ROUND(1 + (RAND() * 3),0)
  107.                 if @RandomNumb = 1 set @PumpPort = '3-pin'
  108.                 if @RandomNumb = 2 set @PumpPort = '4-pin'
  109.                 if @RandomNumb = 3 set @PumpPort = 'SATA 15pin'
  110.                 if @RandomNumb = 4 set @PumpPort = 'molex'
  111.         --360x120, 245x125, 240x120, 200x200, 140x140, 140x150, 152x140, 130x120, 120x120, 92x92, 90x90,
  112.         --81x81, 80x80, 70x70, 60x60, 50x50, 40x40, 25x25 (18)
  113.         set @RandomNumb = ROUND(1 + (RAND() * 17),0)
  114.                 if @RandomNumb = 1 set @Size = '360x120'
  115.                 if @RandomNumb = 2 set @Size = '245x125'
  116.                 if @RandomNumb = 3 set @Size = '240x120'
  117.                 if @RandomNumb = 4 set @Size = '200x200'
  118.                 if @RandomNumb = 5 set @Size = '140x140'
  119.                 if @RandomNumb = 6 set @Size = '140x150'
  120.                 if @RandomNumb = 7 set @Size = '152x140'
  121.                 if @RandomNumb = 8 set @Size = '130x120'
  122.                 if @RandomNumb = 9 set @Size = '120x120'
  123.                 if @RandomNumb = 10 set @Size = '92x92'
  124.                 if @RandomNumb = 11 set @Size = '90x90'
  125.                 if @RandomNumb = 12 set @Size = '81x81'
  126.                 if @RandomNumb = 13 set @Size = '80x80'
  127.                 if @RandomNumb = 14 set @Size = '70x70'
  128.                 if @RandomNumb = 15 set @Size = '60x60'
  129.                 if @RandomNumb = 16 set @Size = '50x50'
  130.                 if @RandomNumb = 17 set @Size = '40x40'
  131.                 if @RandomNumb = 18 set @Size = '25x25'
  132.         --2-pin, 3-pin, 4-pin, 4-pin Male/4-pin Female, 6-pin, Molex, USB 2.0 (9-pin)
  133.         set @RandomNumb = ROUND(1 + (RAND() * 6),0)
  134.                 if @RandomNumb = 1 set @FanPort = '2-pin'
  135.                 if @RandomNumb = 2 set @FanPort = '3-pin'
  136.                 if @RandomNumb = 3 set @FanPort = '4-pin'
  137.                 if @RandomNumb = 4 set @FanPort = '4-pin Male/4-pin Female'
  138.                 if @RandomNumb = 5 set @FanPort = '6-pin'
  139.                 if @RandomNumb = 6 set @FanPort = 'Molex'
  140.                 if @RandomNumb = 7 set @FanPort = 'USB 2.0 (9-pin)'
  141.         --PCI-E,SATA 3,U.2,mSATA             --PCI-E 3.0 x2,PCI-E 3.x x4,PCI-E 4.0 x4,SATA 3
  142.         set @RandomNumb = ROUND(1 + (RAND() * 3),0)
  143.                 if @RandomNumb = 1 set @SSDInterface = '2-pin'
  144.                 if @RandomNumb = 2 set @SSDInterface = '3-pin'
  145.                 if @RandomNumb = 3 set @SSDInterface = '4-pin'
  146.                 if @RandomNumb = 4 set @SSDInterface = '4-pin Male/4-pin Female'
  147.                 if @RandomNumb = 1 set @SSDInterfaceM2 = 'PCI-E 3.0 x2'
  148.                 if @RandomNumb = 2 set @SSDInterfaceM2 = 'PCI-E 3.x x4'
  149.                 if @RandomNumb = 3 set @SSDInterfaceM2 = 'PCI-E 4.0 x4'
  150.                 if @RandomNumb = 4 set @SSDInterfaceM2 = 'SATA 3'
  151.         set @RandomNumb = ROUND(1 + (RAND() * 2),0)
  152.                 if @RandomNumb = 1 set @SSDFormFactor = '2.5"'
  153.                 if @RandomNumb = 2 set @SSDFormFactor = 'PCI-E'
  154.                 if @RandomNumb = 3 set @SSDFormFactor = 'mSATA'
  155.                 if @RandomNumb = 1 set @SSDFormFactorM2 = '2242'
  156.                 if @RandomNumb = 2 set @SSDFormFactorM2 = '2260'
  157.                 if @RandomNumb = 3 set @SSDFormFactorM2 = '2280'
  158.         set @HDD = ROUND(1 + (RAND() * 8),0)
  159.         set @50Procent = ROUND(0 + (RAND() * 1),0)
  160.         insert into Значение_Характеристик (rf_ТоварID,rf_ТехХарID,Значение_Характеристики)
  161.         select  ТоварID,
  162.                         ТехХарID,
  163.                         'Значение_Характеристики' =
  164.                         (case
  165.                                 when ТехХарID = 1 and Товар.Производитель = 'Intel' then @Value2
  166.                                 when ТехХарID = 1 and Товар.Производитель = 'AMD' then @Value1
  167.                                         --(case when Товар.Производитель = 'Intel' then @Value2 else @Value1 end)
  168.                                 when ТехХарID = 2 then CAST(POWER(2,@Yadra)as nvarchar(MAX))
  169.                                 when ТехХарID = 3 then CAST((@Clock) as nvarchar(MAX))
  170.                                 when ТехХарID = 4 and @50Procent = 1 then @Value2
  171.                                 when ТехХарID = 4 and @50Procent = 0 then @Value1
  172.                                 --(case when ROUND(1 + (RAND() * 1),0) = 1 then @Value2 else @Value1 end)
  173.                                 when ТехХарID = 5 then @TypeDIMM
  174.                                 when ТехХарID = 6 then @TypeSODIMM
  175.                                 when ТехХарID = 7 then @FormFactor
  176.                                 when ТехХарID = 8 then CAST(POWER(2,@Yadra-1)as nvarchar(MAX))
  177.                                 when ТехХарID = 9 then CAST(POWER(2,@Yadra+1)as nvarchar(MAX))
  178.                                 when ТехХарID = 10 then @TypeGDDR
  179.                                 when ТехХарID = 11 then CAST(POWER(2,@Yadra-1)as nvarchar(MAX))
  180.                                 when ТехХарID = 12 then CAST((@VideoChip)as nvarchar(MAX))
  181.                                 when ТехХарID = 13 then CAST((@VideoSpeed) as nvarchar(MAX))
  182.                                 when ТехХарID = 14 then @TypeDIMM
  183.                                 when ТехХарID = 15 then CAST(POWER(2,@Yadra+1) as nvarchar(MAX))
  184.                                 when ТехХарID = 16 then CAST((@DIMMClock)as nvarchar(MAX))
  185.                                 when ТехХарID = 17 then @FormFactorPU
  186.                                 when ТехХарID = 18 then CAST((@PU)as nvarchar(MAX))
  187.                                 when ТехХарID = 19 then
  188.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then 'активаня' else 'пасивная' end)
  189.                                 when ТехХарID = 20 then @Corpus
  190.                                 when ТехХарID = 21 then @FormFactorPU
  191.                                 when ТехХарID = 22 then @FormFactor
  192.                                 when ТехХарID = 23 then @CorpusConstraction
  193.                                 when ТехХарID = 24 then
  194.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then @Value2 else @Value1 end)
  195.                                 when ТехХарID = 25 then CAST((@Height)as nvarchar(MAX))
  196.                                 when ТехХарID = 26 then
  197.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then @Value2 else @Value1 end)
  198.                                 when ТехХарID = 27 then @PumpPort
  199.                                 when ТехХарID = 28 then @Size
  200.                                 when ТехХарID = 29 then @FanPort
  201.                                 when ТехХарID = 33 then
  202.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then 'Да' else 'Нет' end)
  203.                                 when ТехХарID = 34 then CAST(POWER(2,@HDD+2) as nvarchar(MAX))
  204.                                 when ТехХарID = 35 then
  205.                                         (case when Товар.rf_Категория = 15 then @SSDInterface else @SSDInterfaceM2 end)
  206.                                 when ТехХарID = 36 then
  207.                                         (case when Товар.rf_Категория = 15 then @SSDFormFactor else @SSDFormFactorM2 end)
  208.                                 when ТехХарID = 37 then @Size
  209.                                 when ТехХарID = 38 then CAST(POWER(2,@HDD) as nvarchar(MAX))
  210.                                 when ТехХарID = 39 then
  211.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then 'SATA 2' else 'SATA 3' end)
  212.                         END)
  213.                         from Товар
  214.                 join Категории on Категории.КатегорияID = Товар.rf_Категория
  215.                 join Технические_Характеристики as q on q.rf_Категория = Категории.ПодкатегорияID
  216.                 where ТоварID = @Counter
  217.  
  218.                 union
  219.  
  220.                 select  ТоварID,
  221.                         ТехХарID,
  222.                         'Значение_Характеристики' =
  223.                         (case
  224.                                 when ТехХарID = 1 and Товар.Производитель = 'Intel' then @Value2
  225.                                 when ТехХарID = 1 and Товар.Производитель = 'AMD' then @Value1
  226.                                         --(case when Товар.Производитель = 'Intel' then @Value2 else @Value1 end)
  227.                                 when ТехХарID = 2 then CAST(POWER(2,@Yadra)as nvarchar(MAX))
  228.                                 when ТехХарID = 3 then CAST((@Clock) as nvarchar(MAX))
  229.                                 when ТехХарID = 4 and @50Procent = 1 then @Value2
  230.                                 when ТехХарID = 4 and @50Procent = 0 then @Value1
  231.                                 --(case when ROUND(1 + (RAND() * 1),0) = 1 then @Value2 else @Value1 end)
  232.                                 when ТехХарID = 5 then @TypeDIMM
  233.                                 when ТехХарID = 6 then @TypeSODIMM
  234.                                 when ТехХарID = 7 then @FormFactor
  235.                                 when ТехХарID = 8 then CAST(POWER(2,@Yadra-1)as nvarchar(MAX))
  236.                                 when ТехХарID = 9 then CAST(POWER(2,@Yadra+1)as nvarchar(MAX))
  237.                                 when ТехХарID = 10 then @TypeGDDR
  238.                                 when ТехХарID = 11 then CAST(POWER(2,@Yadra-1)as nvarchar(MAX))
  239.                                 when ТехХарID = 12 then CAST((@VideoChip)as nvarchar(MAX))
  240.                                 when ТехХарID = 13 then CAST((@VideoSpeed) as nvarchar(MAX))
  241.                                 when ТехХарID = 14 then @TypeDIMM
  242.                                 when ТехХарID = 15 then CAST(POWER(2,@Yadra+1) as nvarchar(MAX))
  243.                                 when ТехХарID = 16 then CAST((@DIMMClock)as nvarchar(MAX))
  244.                                 when ТехХарID = 17 then @FormFactorPU
  245.                                 when ТехХарID = 18 then CAST((@PU)as nvarchar(MAX))
  246.                                 when ТехХарID = 19 then
  247.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then 'активаня' else 'пасивная' end)
  248.                                 when ТехХарID = 20 then @Corpus
  249.                                 when ТехХарID = 21 then @FormFactorPU
  250.                                 when ТехХарID = 22 then @FormFactor
  251.                                 when ТехХарID = 23 then @CorpusConstraction
  252.                                 when ТехХарID = 24 then
  253.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then @Value2 else @Value1 end)
  254.                                 when ТехХарID = 25 then CAST((@Height)as nvarchar(MAX))
  255.                                 when ТехХарID = 26 then
  256.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then @Value2 else @Value1 end)
  257.                                 when ТехХарID = 27 then @PumpPort
  258.                                 when ТехХарID = 28 then @Size
  259.                                 when ТехХарID = 29 then @FanPort
  260.                                 when ТехХарID = 33 then
  261.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then 'Да' else 'Нет' end)
  262.                                 when ТехХарID = 34 then CAST(POWER(2,@HDD+2) as nvarchar(MAX))
  263.                                 when ТехХарID = 35 then
  264.                                         (case when Товар.rf_Категория = 15 then @SSDInterface else @SSDInterfaceM2 end)
  265.                                 when ТехХарID = 36 then
  266.                                         (case when Товар.rf_Категория = 15 then @SSDFormFactor else @SSDFormFactorM2 end)
  267.                                 when ТехХарID = 37 then @Size
  268.                                 when ТехХарID = 38 then CAST(POWER(2,@HDD) as nvarchar(MAX))
  269.                                 when ТехХарID = 39 then
  270.                                         (case when ROUND(1 + (RAND() * 1),0) = 1 then 'SATA 2' else 'SATA 3' end)
  271.                         END)
  272.                         from Товар
  273.                 join Категории on Категории.КатегорияID = Товар.rf_Категория
  274.                 join Технические_Характеристики as q on q.rf_Категория = Категории.КатегорияID
  275.                 where ТоварID = @Counter
  276.         --where Товар.rf_Категория = 2
  277.         set @Counter = @Counter + 1
  278. end
  279.  
  280. --delete from Значение_Характеристик where isNull(rf_ТехХарID,0) = 0

Share with your friends:

Print