简体   繁体   English

自动填充T-SQL表

[英]Populate a T-SQL Table automatically

I need to input into a table a list of 126 Sites with 7 types of pitches. 我需要在表格中输入包含7种音高的126个站点的列表。 The script I have written is not right and I cannot figure out why. 我写的脚本不正确,我不知道为什么。

What I would like to see is a column of Site_Skey 1, 1, 1, 1, 1, 1, 1 and a column of PitchType_Skey 1,2,3,4,5,6,7 then Site_Skey 2,2,2,2,2,2,2 and a column of PitchType_Skey 1,2,3,4,5,6,7 this need to be repeated 126 times. 我想看到的是Site_Skey列和PitchType_Skey 1,2,3,4,5,6,7列,然后是Site_Skey 2,2,2, 2,2,2,2和PitchType_Skey 1,2,3,4,5,6,7的一列需要重复126次。

Can you help? 你能帮我吗?

Current Script: 当前脚本:

    DECLARE @PitchType_Skey INT
    DECLARE @Site_Skey INT

    SET @PitchType_Skey = 1
    SET @Site_Skey = 1

    WHILE (@PitchType_Skey <= 882)
    WHILE (@Site_Skey <= 882)

   BEGIN
   INSERT INTO Capacity (PitchType_Skey, Site_Skey)
   SELECT (CASE WHEN @PitchType_Skey % 7 = 0 THEN 7 ELSE @PitchType_Skey % 7 END),
   (CASE WHEN @Site_Skey % 126 = 0 THEN 126 ELSE @Site_Skey % 126 END)
   SET @PitchType_Skey = @PitchType_Skey + 1
   SET @Site_Skey = @Site_Skey + 1
   END

much simpilar way of doing it.... 许多类似的方法。

DECLARE @PitchType_Skey INT
DECLARE @Site_Skey INT

SET @PitchType_Skey = 1
SET @Site_Skey = 1



WHILE (@Site_Skey < 127)
BEGIN
  IF @PitchType_Skey = 8
  BEGIN
   SET @PitchType_Skey = 1
   SET @Site_Skey = @Site_Skey + 1
  END

  IF (@Site_Skey < 127)
  BEGIN
     INSERT INTO dbo.Capacity (PitchType_Skey, Site_Skey)
     SELECT @PitchType_Skey, @Site_Skey
  END

  SET @PitchType_Skey = @PitchType_Skey + 1

END

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM