DAY DATE;
MON:=TO_DATE('2010-10-10','YYYY-MM-DD');
I NUMBER;BEGAIN
I:=0;LOOPINSERT INTO TB1 SELECT DAY,TIME FROM DB2 WHERE TIME>DAY AND TIME<DAY+30;DAY:=DAY+1;
I:=I+1
EXIT WHEN I>30;END LOOPEND问题:我本意是按月统计后插入数据到另外一张表。我不加MON:=MON+1 查询出来有数据,加了就没有,和事实数据不符合,大家看看这样写是不是有问题?
希望有人能拿到我的100分,还从没在这里解决过问题。
MON:=TO_DATE('2010-10-10','YYYY-MM-DD');
I NUMBER;BEGAIN
I:=0;LOOPINSERT INTO TB1 SELECT DAY,TIME FROM DB2 WHERE TIME>DAY AND TIME<DAY+30;DAY:=DAY+1;
I:=I+1
EXIT WHEN I>30;END LOOPEND问题:我本意是按月统计后插入数据到另外一张表。我不加MON:=MON+1 查询出来有数据,加了就没有,和事实数据不符合,大家看看这样写是不是有问题?
希望有人能拿到我的100分,还从没在这里解决过问题。
你的能出数据god
好多问题
1 mon没有定义
2 是begin 不是 BEGAIN
declare
DAYs DATE;
MON date := TO_DATE('2010-10-10', 'YYYY-MM-DD');
I NUMBER := 0;
BEgin for i in 1 .. 30 LOOP
select sysdate - I into days from dual;
dbms_output.put_line(days);
END LOOP;END;
DAYS DATE;
MON DATE := TO_DATE('2010-10-10', 'YYYY-MM-DD');
I NUMBER;
BEGIN
I := 0;
LOOP
INSERT INTO TB1
SELECT DAY, TIME
FROM DB2
WHERE TIME > DAYS
AND TIME < DAYS + 30;
DAY := DAY + 1;
I := I + 1;
EXIT WHEN I > 30;
END LOOP;
END;不要用day啊 这种关键字去做字段名
DAYS DATE;
MON DATE := TO_DATE('2010-10-10', 'YYYY-MM-DD');
I NUMBER;
BEGIN
I := 0;
LOOP
INSERT INTO TB1
SELECT DAY, TIME
FROM DB2
WHERE TIME > DAYS
AND TIME < DAYS + 30;
DAYS := DAYS + 1;
I := I + 1;
EXIT WHEN I > 30;
END LOOP;
END;
注意下:
MON:=TO_DATE('2010-10-10','YYYY-MM-DD');
MON:=MON+1; --MON 的值2010-10-11
-----------------------------------------
MON:=TO_DATE('2010-10-10','YYYY-MM-DD');
add_months(MON,1)--2010-11-10