【发布时间】:2022-01-26 22:56:16
【问题描述】:
使用 oracle 表单和 sql developer。 试图将我表格中的金额转移到 Excel 中。为此,我需要将一个月分成四个星期。 我尝试在 if elsif 循环中每周检查一次。为了找到每周的金额,我想总结我指定的日期范围内的金额。代码能够进入循环并读取记录,但不能读取数量。我哪里做错了?
DECLARE
CURSOR c IS
SELECT varis_tar, tutar
FROM muhasebe.doviz_takip
WHERE TRUNC(varis_tar) BETWEEN TO_DATE('01/10/2021', 'DD/MM/YYYY')
AND TO_DATE('31/10/2021', 'DD/MM/YYYY')
GROUP BY varis_tar,tutar;
tutar1 NUMBER(9):=0;
tutar2 NUMBER(9):=0;
tutar3 NUMBER(9):=0;
tutar4 NUMBER(9):=0;
BEGIN
FOR r IN c LOOP
IF r.varis_tar BETWEEN TO_DATE('01/10/2021', 'DD/MM/YYYY') AND
TO_DATE('07/10/2021', 'DD/MM/YYYY') THEN
tutar1:=tutar1+r.tutar;
message('tutar1',tutar1);
ELSIF r.varis_tar BETWEEN TO_DATE('07/10/2021', 'DD/MM/YYYY') AND
TO_DATE('14/10/2021', 'DD/MM/YYYY') then
tutar2:=tutar2+r.tutar;
message('tutar2',tutar2);
ELSIF r.varis_tar BETWEEN TO_DATE('14/10/2021', 'DD/MM/YYYY') AND
TO_DATE('21/10/2021', 'DD/MM/YYYY') then
tutar3:=tutar3+r.tutar;
message('tutar3',tutar3);
ELSIF r.varis_tar BETWEEN TO_DATE('21/10/2021', 'DD/MM/YYYY') AND
TO_DATE('31/10/2021', 'DD/MM/YYYY') THEN
tutar4:=tutar4+r.tutar;
message('tutar4',tutar4);
END IF;
END LOOP;
【问题讨论】:
标签: oracle plsql oracle11g oracleforms