代码如下:CREATE OR REPLACE  PROCEDURE "OPS$STOREP"."sale_zb"(i  number(8)) is
UP1 varchar(32);
UP2 number(12,2);
UP3 number(12,2);
UP4 number(12,2);
cursor UP_SALE IS
select decode(buyer,'NF10','NF10/11','NF11','NF10/11',
                    'NF8','NF8/9','NF9','NF8/9',
                    'NF4','NF4/7','NF7','NF4/7',
                    'NF5','NF5/6','NF6','NF5/6',
                    'NF2','NF2/3','NF3','NF2/3', BUYER),SUM(AMOUNT),SUM(QTY),SUM(VISIT)
from buyer_VISIT where  invoice_date =to_date(init1,'yyyymmdd') and proc_ind=1
GROUP BY decode(buyer,'NF10','NF10/11','NF11','NF10/11',
                    'NF8','NF8/9','NF9','NF8/9',
                    'NF4','NF4/7','NF7','NF4/7',
                    'NF5','NF5/6','NF6','NF5/6',
                    'NF2','NF2/3','NF3','NF2/3', BUYER);
begin
 begin
 OPEN UP_SALE;
 LOOP
 FETCH UP_SALE INTO UP1,UP2,UP3,UP4;
 EXIT WHEN UP_SALE%NOTFOUND;
 UPDATE ST_SALE_ZB SET SALE_AMOUNT=UP2,QTY=UP3,VISIT=UP4 WHERE BUYER_UID=UP1 AND TO_CHAR(RUN_DATE,'YYYYMMDD')=i;
 COMMIT;
 END LOOP;
 CLOSE UP_SALE;
 END;
end sale_zb;
请高人指点,我是第一次写这个,找不到原因啊~!~!~!

解决方案 »

  1.   

      贴下 报错提示!还有这里你的 OPS$STOREP  有这个用户吗?
      

  2.   

    Warning: Procedure created with compilation errors.unknown command beginning "end sale_z..." - rest of line ignored.
      

  3.   


    最后一个end前面多加一个/ 
    然后提示
    Warning: Procedure created with compilation errors.unknown command beginning "end sale_z..." - rest of line ignored.
     如果不加那个/  就执行不完程序  挂在那等待
      

  4.   

    代码如下:CREATE OR REPLACE PROCEDURE "OPS$STOREP"."sale_zb"(i number(8)) is
    UP1 varchar(32);
    UP2 number(12,2);
    UP3 number(12,2);
    UP4 number(12,2);
    cursor UP_SALE IS
    select decode(buyer,'NF10','NF10/11','NF11','NF10/11',
      'NF8','NF8/9','NF9','NF8/9',
      'NF4','NF4/7','NF7','NF4/7',
      'NF5','NF5/6','NF6','NF5/6',
      'NF2','NF2/3','NF3','NF2/3', BUYER),SUM(AMOUNT),SUM(QTY),SUM(VISIT)
    from buyer_VISIT where invoice_date =to_date(i,'yyyymmdd') and proc_ind=1
    GROUP BY decode(buyer,'NF10','NF10/11','NF11','NF10/11',
      'NF8','NF8/9','NF9','NF8/9',
      'NF4','NF4/7','NF7','NF4/7',
      'NF5','NF5/6','NF6','NF5/6',
      'NF2','NF2/3','NF3','NF2/3', BUYER);
    begin
     begin
     OPEN UP_SALE;
     LOOP
     FETCH UP_SALE INTO UP1,UP2,UP3,UP4;
     EXIT WHEN UP_SALE%NOTFOUND;
     UPDATE ST_SALE_ZB SET SALE_AMOUNT=UP2,QTY=UP3,VISIT=UP4 WHERE BUYER_UID=UP1 AND TO_CHAR(RUN_DATE,'YYYYMMDD')=i;
     COMMIT;
     END LOOP;
     CLOSE UP_SALE;
     END;
    end sale_zb;
    请高人指点,我是第一次写这个,找不到原因啊~!~!~!
      

  5.   

    "OPS$STOREP"."sale_zb"  把引号去掉
      

  6.   

    group by 后面应该引用字段,也就是列名