有两个表WEBFLOW(广告流量表),PRICE(广告单价表);WEBFLOW有ADVID(广告ID),NUM(播放次数),DATE(日期)三个字段,PRICE表有ADVID,ADVPRICE(广告单价)两个字段,想用存储过程求出每天的广告总费用,即每天的SUM(NUM*ADVPRICE)。注意WEBFLOW表中的数据量比较大,大概每天有4万条。希望有人帮忙,谢谢!

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE TEST IS
    BEGIN
    declare
        cnt number := 0;
     begin
        select A.num*B.ADVPRICE into cnt from WEBFLOW A,PRICE B where A.ADVID = B.ADVID;-------WEBFLOW表数据两大  所以放在最前面
        EXCEPTION
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')||SQLCODE || SQLERRM);
            RAISE;
     end;
    END;
    /
    大概这样  自己调试下
      

  2.   

    另外狠想知道异常处理的那个地方错了当然这个没有把no_data_found之类的单独提出来考虑