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 ;
uj5u.com熱心網友回復:
-- 大概這樣的一個語法
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;
uj5u.com熱心網友回復:
下面是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;
uj5u.com熱心網友回復:
用游標寫了這個select,然后呢,后面的需求是什么uj5u.com熱心網友回復:
使用存盤程序呼叫出這個查詢結果uj5u.com熱心網友回復:
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;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/103436.html
標籤:開發
上一篇:如何根據匯總條件篩選?
下一篇:PLS-00103: 出現符號 "IF"在需要下列之一時: := . ( @ % ; not null range defa
