begin
open c_s(GYear,GMonth); 
     Loop     
     exit when c_s%notfound;
     insert into T_PRT_OughtIncomeByWaterKind  values 
     (seq_Oughtincomeid.nextval,cc.ChargeAndIncomeYear,cc.ChargeAndIncomeMonth,cc.SalesDeptID,cc.SalesDeptName,cc.AreaCode,cc.AreaName,cc.wateritemid,cc.WaterItemName,
      cc.InhabitantWater,cc.InhabitantMoney,cc.CollectivityWater,cc.CollectivityMoney,cc.AdministrationWater,cc.AdministrationMoney,
      cc.IndustryWater,cc.IndustryMoney,cc.BuildWater,cc.BuildMoney,cc.BusinessWater,cc.BusinessMoney,cc.SpecialTypeWater,cc.SpecialTypeMoney,
      cc.VillageWater,cc.VillageMoney,cc.FireWater,cc.FireMoney,cc.FireEqualizeWater,cc.FireEqualizeMoney,cc.LastMonthEqualizeWater,
      cc.LastMonthEqualizeMoney,0,0,cc.OutSectionWater,cc.OutSectionMoney,cc.basewater,
      cc.basemoney,cc.overbasewater,cc.overbasemoney,cc.PeccancyWater,cc.PeccancyMoney,cc.InhabitantWaterLadder1,cc.InhabitantWaterLadder2
      ,cc.InhabitantWaterLadder3,cc.InhabitantMoneyLadder1,cc.InhabitantMoneyLadder2,cc.InhabitantMoneyLadder3,cc.CollectivityWaterLadder1,
      cc.CollectivityWaterLadder2,cc.CollectivityWaterLadder3,cc.CollectivityMoneyLadder1,cc.CollectivityMoneyLadder2,cc.CollectivityMoneyLadder3,
      cc.InhabitantDoorMoneyLadder1,cc.InhabitantDoorMoneyLadder2,cc.InhabitantDoorMoneyLadder3,cc.CollectivityDoorMoneyLadder1,
      cc.CollectivityDoorMoneyLadder2,cc.CollectivityDoorMoneyLadder3);
      end loop;
close c_s;  
插入数据到表,一直出现:表无法通过128扩展。
 

解决方案 »

  1.   

    insert into tablename select...不就可以么?为什么要使用游标呢?
    表无法通过128扩展表空间无法自动扩展,检查一下你的硬盘空间
      

  2.   

    怎么会是死循环呢?我也想insert into tablename select... 但我们表需要自增长的。
      

  3.   

    查看一下你的表空间使用情况:
     SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, 
      (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE" 
      FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C 
      WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
    如果不够的话,就按百分比自动增加。
      

  4.   

    自动扩展表空间,语法:
    sql> alter database datafile 'path:\数据文件名' autoextend on  next 10M maxsize 1000M;