一尘不染

循环SQL语句插入

sql

我想每次插入带有日期+ 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;

错误信息:

消息156,级别15,状态1,行11关键字’select’附近的语法错误。


阅读 175

收藏
2021-03-08

共1个答案

一尘不染

无需VALUESINSERT...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;
2021-03-08