2013-04-09 112 views
2

我想每次插入日期+ 1的行。这是一个简单的SQL循环。 我使用SSIS,所以StartDate和Enddate是变量。循环SQL语句插入

这里是我的代码:

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 语法不正确 '选择'。

+1

你试过从以前的行删除 “价值观” 的关键字?插入/选择语法不需要此关键字。 – weaver 2013-04-09 07:49:05

回答

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;