有人可以帮我解决以下问题。编写光标很容易,但我不知道如何测试何时REFVAL
更改。到目前为止,我的光标如下。
光标不能在 上分组REFVAL
。可以将其视为基于需要为该发票上的总框添加的一系列发票行。
就像是:
REFVAL PAYAMNT INVOICE_DETAIL
12/00001/DA £420 Recurring fee
12/00001/DA £300 CRB check
12/00001/DA £170 Plate fee
12/00002/JV £70 SQL assistance
12/00002/JV £30 Loader assistance
因此,当单步浏览光标时,我可以将详细信息从12/00001/DA
三行写入,然后写总计12/00001/DA (£890)
,然后从详细信息12/00002/JV
,然后是该行的摘要行。
因此,脚本需要知道何时REFVAL
更改
到目前为止我所拥有的是:
DECLARE
CURSOR c1 IS
SELECT refval,amt from johan;
Grandtotal INTEGER := 0;
REF_total Integer := 0;
REFVAL varchar(20);
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO refval,ref_total;
IF c1%notfound THEN
EXIT;
END IF;
dbms_output.put_line('TOtal for '|| refval || ': ' || ref_total);
Grandtotal := Grandtotal + ref_total;
END LOOP;
IF c1%ISOPEN THEN -- cursor is open
CLOSE c1;
END IF;
dbms_output.put_line('Grandtotal: '||Grandtotal);
END;
/