【问题标题】:Looping SQL statement insert循环SQL语句插入
【发布时间】:2013-04-09 16:05:45
【问题描述】:

我想每次插入一行日期 + 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”附近的语法不正确。

【问题讨论】:

  • 您是否尝试过从上一行中删除“values”关键字?插入/选择语法不需要此关键字。

标签: sql sql-server loops insert


【解决方案1】:

INSERT...SELECT 语句中不需要VALUES

替换

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;

【讨论】:

    猜你喜欢
    • 2014-02-28
    • 2011-07-04
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多