csdn_lizifei 2017-04-20 07:54 采纳率: 50%
浏览 519

存储过程中 报未查询到数据 查询今年累计数据的那一行

CREATE OR REPLACE PROCEDURE p_sumpoints
is
--同比值
mtb varchar2(30);

--同比时间
mtbtime varchar2(10);

--环比值
mhb varchar2(30);

--环比时间
mhbtime varchar2(10);

--今年累计
jnlj varchar2(30);

--今年累计时间
jnljtime varchar2(100);

--去年同期
qntq varchar2(30);

--去年同期时间
qntqtime varchar2(100);

CURSOR cur IS select k.strid,k.name,k.ny,k.fz from T_B_YY_QYJBQK k where k.ny = '2017-03';
BEGIN
FOR cur_result in cur LOOP

--获取同比时间 mtbtime
SELECT to_char(ADD_MONTHS(TRUNC(to_date(cur_result.ny,'yyyy-MM')),-12),'yyyy-mm') into mtbtime FROM dual;

--获取环比时间 mhbtime
select to_char(ADD_MONTHS(trunc(to_date(cur_result.ny,'yyyy-mm')),-1),'yyyy-mm') into mhbtime from dual;

--获取去年本月的数据
select b.fz into mtb from T_B_YY_QYJBQK b where b.strid = cur_result.strid and b.ny = mtbtime;

--获取上月的数据
select t.fz into mhb from T_B_YY_QYJBQK t where t.strid = cur_result.strid and t.ny = mhbtime;

--输出月同比值
Dbms_output.Put_line((cur_result.fz-mtb)/mtb);

--输出月环比值
Dbms_output.Put_line((cur_result.fz-mhb)/mhb);

--获取今年年初到本月的所有年份

SELECT wmsys.wm_concat(''''||to_char(trunc(to_date(cur_result.ny,'yyyy-MM')),'YYYY')||'-'||substr('0'||to_char(rownum),-2,2)||'''') into jnljtime FROM DUAL CONNECT BY rownum <= (select to_char(trunc(to_date(cur_result.ny,'yyyy-MM')),'mm')from dual);

--输出今年年初到本月的所有年份
Dbms_output.Put_line(jnljtime);

--查询今年累计数据
**select sum(fz) into jnlj from T_B_YY_QYJBQK t where t.strid = cur_result.strid and t.ny in (jnljtime) group by t.strid; **

--查询去年同期累计
select sum(fz) into qntq from T_B_YY_QYJBQK t where t.strid = cur_result.strid and t.ny in ('2016-01','2016-02','2016-03') group by t.strid;

--输出今年累计数据
Dbms_output.Put_line(jnlj);

--输出去年同期累计
Dbms_output.Put_line(qntq);

END LOOP;
END;

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀
    • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
    • ¥15 关于#hadoop#的问题
    • ¥15 (标签-Python|关键词-socket)
    • ¥15 keil里为什么main.c定义的函数在it.c调用不了
    • ¥50 切换TabTip键盘的输入法