循环SQL语句插入

时间:2013-04-09 07:44:19

标签: sql sql-server loops insert

我想每次插入日期为+ 1的行。这是一个简单的SQL循环。 我正在使用SSIS,因此StartDate和Enddate是变量。

这是我的代码:

WITH View_Solidnet_Training AS
(
    SELECT CAST('2013-04-09' AS DATETIME) DateValue
    UNION ALL

    SELECT DateValue + 1
    FROM   View_Solidnet_Training
    WHERE  DateValue + 1 < '2013-04-11'
)
INSERT INTO OBJ_Availability
VALUES
  SELECT 34,
         DateValue + 1,
         'AM',
         2,
         'Test'
  FROM   View_Solidnet_Training;

错误讯息:

  

第15行,第11行,第1行,第11行       关键字“select”附近的语法不正确。

1 个答案:

答案 0 :(得分:1)

VALUES声明中无需INSERT...SELECT

替换

INSERT INTO OBJ_Availability
VALUES
  SELECT 34,
         DateValue + 1,
         'AM',
         2,
         'Test'
  FROM   View_Solidnet_Training;

INSERT INTO OBJ_Availability
SELECT 34,
       DateValue + 1,
       'AM',
       2,
       'Test'
FROM   View_Solidnet_Training;