select a.orgno,a.orgcode,a.ORGNAME ,byxzhy "新增会员本月",syxzhy "新增会员上月",(byxzhy-NVL(syxzhy,0)) "新增会员比
较",
    byyxhy "有效会员/本月",syyxhy "有效会员/上月",byyxhy -NVL(syyxhy,0) "有效会员/
比较",
byhylks "会员来客数/本月",syhylks "会员来客数/上月",byhylks -NVL(syhylks,0) 
"会员来客数/比较",
byhykdj  "会员客单价/本月",syhykdj "会员客单价/上月",byhykdj-NVL(syhykdj,0) 
"会员客单价/比较",
byxshe "销售总额/本月", syxshe "销售总额/上月",byxshe-NVL(syxshe,0) "销售总
额/比较",
byhyxshe  "会员销售额/本月",syhyxshe "会员销售额/上月",byhyxshe-NVL
(syhyxshe,0) "会员销售额/比较",
byhyxszb  "会员销售占比/本月",syhyxszb  "会员销售占比/上月",byhyxszb-NVL
(syhyxszb,0) "会员销售占比/比较",
byprofit  "会员毛利/本月",syprofit  "会员毛利/上月",byprofit-NVL
(syprofit,0)  "会员毛利/比较",
byprofitrate  "会员毛利率/本月",syprofitrate  "会员毛利率/上月",a.entid

from ORGDOC a ,b_byhyjx b,c_syhyjx c
where a.ORGID=b.fdbs and a.ORGID=c.fdbs AND a.ENTID=entid AND a.IsOrg<>'Y'
order by a.ORGID ;

解决方案 »

  1.   


    -- 大概这样的一个语法create or replace procedure sp_a(ot varchar2,p_out out sys_refcursor)
    as
    begin
        open p_out 
        for 
        select object_id, object_name 
        from user_objects where object_type = ot;
    end;
      

  2.   

    下面是2个游标的例子;
    DECLARE
      CURSOR TEST IS
        SELECT *
          FROM (SELECT 1 A, 1 B
                  FROM DUAL
                UNION ALL
                SELECT 2, 2
                  FROM DUAL
                UNION ALL
                SELECT 3, 3
                  FROM DUAL) BB;
      C_TEST TEST%ROWTYPE;
    BEGIN
      FOR C_TEST IN TEST LOOP
        DBMS_OUTPUT.PUT_LINE(C_TEST.A || '_' || C_TEST.B);
      END LOOP;
    END;-------------------
    DECLARE
      CURSOR TEST IS
        SELECT *
          FROM (SELECT 1 A, 1 B
                  FROM DUAL
                UNION ALL
                SELECT 2, 2
                  FROM DUAL
                UNION ALL
                SELECT 3, 3
                  FROM DUAL) BB;
      C_TEST TEST%ROWTYPE;
    BEGIN
      OPEN TEST;
      LOOP
        FETCH TEST
          INTO C_TEST;
        EXIT WHEN TEST%NOTFOUND;
        DBMS_OUTPUT.PUT_LINE(C_TEST.A || '_' || C_TEST.B);
      END LOOP;
    END;
      

  3.   

    用游标写了这个select,然后呢,后面的需求是什么
      

  4.   


    declare
           cursor mycursor
           is
            你的sql语句;
           c_row mycursor%rowtype;
    begin
           for c_row in mycursor loop
             --循环处理的你的业务,如
             dbms_output.put_line(c_row.orgno);
           end loop;
    end;