Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server ЗА ВСЕКИ цикъл

Ето опция с таблична променлива:

DECLARE @MyVar TABLE(Val DATETIME)
DECLARE @I INT, @StartDate DATETIME
SET @I = 1
SET @StartDate = '20100101'

WHILE @I <= 5
BEGIN
    INSERT INTO @MyVar(Val)
    VALUES(@StartDate)

    SET @StartDate = DATEADD(DAY,1,@StartDate)
    SET @I = @I + 1
END
SELECT *
FROM @MyVar

Можете да направите същото с временна таблица:

CREATE TABLE #MyVar(Val DATETIME)
DECLARE @I INT, @StartDate DATETIME
SET @I = 1
SET @StartDate = '20100101'

WHILE @I <= 5
BEGIN
    INSERT INTO #MyVar(Val)
    VALUES(@StartDate)

    SET @StartDate = DATEADD(DAY,1,@StartDate)
    SET @I = @I + 1
END
SELECT *
FROM #MyVar

Трябва да ни кажете каква е вашата основна цел, както беше казано от @JohnFx, това вероятно може да се направи по друг (по-ефективен) начин.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да конфигурирате конфигурационния файл за хибернация за sql сървър

  2. Как да направите актуализация на таблица на Sql Server CE от друга таблица

  3. Създаването на рамков модел на Entity обхваща множество бази данни

  4. Изображение на PictureBox се зарежда от база данни

  5. Промяна на колона, добавяне на ограничение по подразбиране