Я думаю, что вам просто нужно сбросить свой внутренний счетчик обратно на ноль во внешнем цикле - я переместил SET @yRowCount = 0
во внешний цикл:
DECLARE @xColCount int
DECLARE @yRowCount int
SET @xColCount = 0
WHILE (@xColCount < @widthCol)
BEGIN
SET @yRowCount = 0
WHILE (@yRowCount < @heightRow)
BEGIN
-- do the insert
INSERT INTO Scenario.MapCell(Guid, Map, Col, ColAplha, Row)
VALUES(newID(), @mapGuid, @xColCount, 'A', @yRowCount)
SET @yRowCount = @yRowCount + 1
END
SET @xColCount = @xColCount + 1
END
С вашим кодом, после завершения внутреннего цикла, @yRowCount
был на @heightRow
и никогда не сбрасывался, поэтому внутренний цикл (и, следовательно, оператор INSERT) больше не выполнялся.