小编Ale*_*r K的帖子

从DB2中使用WITH Clause的Select查询插入到故事中

我试图插入一个SELECT语句的结果使用WITH子句但得到语法错误.我是否遗漏了一些简单的内容,或者WITH子句不允许使用Insert语句?

with 
  tser_indx as 
    (SELECT ROW_NUMBER() OVER (ORDER BY BUSDATE ASC) AS ROWID, ITEMID, BUSDATE, PRICE)
     FROM prices_history where ITEMID =  12876),

  VALS as 
     (select P1.ITEMID, P1.BUSDATE , P1.PRICE, P1.PRICE / P2.PRICE) as ret 
    FROM  tser_indx p1, tser_indx p2 
    WHERE p1.rowid = p2.rowid + 1)

INSERT INTO RETURNS (ITEMID, TRADEDATE, PRICE, RETURN)
SELECT ITEMID, BUSDATE, PRICE, RET FROM VALS
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,指出SELECT语句是预期的而不是INSERT.似乎无法欺骗DB2采取这种说法.我尝试将其重写为

INSERT INTO RETURNS (...) SELECT * FROM (WITH ...)
Run Code Online (Sandbox Code Playgroud)

仍然没有奏效.

任何建议将不胜感激.

sql db2 select insert with-statement

5
推荐指数
1
解决办法
5070
查看次数

标签 统计

db2 ×1

insert ×1

select ×1

sql ×1

with-statement ×1