DECLARE
I:DATE
BEGIN
I:='2001-1'
LOOP
INSERT INTO TABLE_A(A,B,C)
SELECT TRUNC(MAX(DATE_1)),B,C
FROM TABLE_B
WHERE DATE_1 IS NOT NULL
AND DATE_2>=I
AND DATE_2<LAST_DAY(I)
I:=ADD_MONTHS(I,1)
EXIT WHEN I<='2011-11'
END LOOPEND BEGIN
I:DATE
BEGIN
I:='2001-1'
LOOP
INSERT INTO TABLE_A(A,B,C)
SELECT TRUNC(MAX(DATE_1)),B,C
FROM TABLE_B
WHERE DATE_1 IS NOT NULL
AND DATE_2>=I
AND DATE_2<LAST_DAY(I)
I:=ADD_MONTHS(I,1)
EXIT WHEN I<='2011-11'
END LOOPEND BEGIN
解决方案 »
- SERVER SQL分析器查询ORACLE数据库里的信息
- 关于存储过程 这样的情况怎么办
- grouping sets为何出错
- ORA-04091: 表 EGIS_ADMIN.RESOURCE_TYPE 发生了变化, 触发器/函数不能读它
- 数据恢复
- select 语句性能问题
- 往临时表中插入数据时,出现的错误!请求帮忙!
- 如何把一个数据库中数据导到另一个表结构已经定义好的数据库中!急(与datalink有关)
- 主从表关联数据,如何写的sql语句得到主表的记录和相关的从表记录
- 使用qt生成数据库表当生成到400多万行后数据库不再生成,也没有报错
- 如何查有那些表带有一个字段的。
- 问个判断查询的问题,我是新手,不会术语
I:DATE
BEGIN
I:='2001-1'
LOOP
INSERT INTO TABLE_A(A,B,C)
SELECT TRUNC(MAX(DATE_1)),B,C
FROM TABLE_B
WHERE DATE_1 IS NOT NULL
AND DATE_2>=I
AND DATE_2<LAST_DAY(I)
GROUP BY B,C
I:=ADD_MONTHS(I,1)
EXIT WHEN I<='2011-11'
END LOOPEND BEGIN
AND DATE_2<LAST_DAY(I)
这里是不是有点矛盾