【发布时间】:2014-04-18 22:46:30
【问题描述】:
刚刚学习了 PL/SQL 和 Oracle SQL Developer,仍然对语法有所了解。我创建了一个 select 语句和一个 Cursor For 循环。 select 语句检索了一堆东西,包括 AVG(USAGE),我正在编写将其插入到不同的表中。
基本上没有问题,但我不知道在 INSERT 语句中插入 AVG(USAGE) 的语法。
v_dayNumber NUMBER;
CURSOR c_nonPublicHoliday is SELECT STREET, SUBURB, DAY, AVG(VOLUME)
FROM RAW_TABLE, HOLIDAYS
WHERE to_char(day, 'd') = v_dayNumber
AND RAW_TABLE IN (SELECT HOLIDAY_DATE FROM HOLIDAYS)
GROUP BY STREET, SUBURB, DAY
ORDER BY DAY;
BEGIN
FOR v_forecastDay IN 1..14 LOOP
v_dayNumber := v_forecastDay;
FOR R1 IN c_nonPublicHoliday LOOP
INSERT INTO LOCAL_TABLE(STREET,SUBURB,DAY)
VALUES (R1.STREET, R1.SUBURB, R1.DAY);
END LOOP;
END LOOP;
END;
基本上我所做的只是循环通过接下来的 14 天并检索一周中那一天的历史平均使用量(我自己知道,7 天会达到相同的效果,但还有其他事情发生)。只需将该平均值写入此 LOCAL_TABLE,但我不确定所需的语法
【问题讨论】: