小编Ras*_*ass的帖子

在oracle查询中计算运行余额

我有这样的数据

id    cp_id   amount_a       amount_b
CCP1  TTP01   10.000.000     2.000.000
CCP1  TTP02   10.000.000     3.000.000
CCP1  TTP03   10.000.000     1.000.000
CCP1  TTP04   10.000.000       500.000
CCP2  TTP05    5.000.000     1.000.000
CCP2  TTP06    5.000.000     2.000.000
CCP3  TTP07    1.000.000       500.000 
Run Code Online (Sandbox Code Playgroud)

我希望结果数据添加一列running_balance,如下所示

id       amount_a       amount_b      running_balance
CCP1   10.000.000     2.000.000     8.000.000
CCP1   10.000.000     3.000.000     5.000.000
CCP1   10.000.000     1.000.000     4.000.000
CCP1   10.000.000       500.000     3.500.000
CCP2    5.000.000     1.000.000     4.000.000
CCP2    5.000.000     2.000.000     2.000.000
CCP3    1.000.000       500.000       500.000 
Run Code Online (Sandbox Code Playgroud)

我已经做了这样的查询

/* Formatted on 1/26/2017 2:50:06 PM (QP5 v5.115.810.9015) */
  SELECT   B.NO_KLAIM AS id, …
Run Code Online (Sandbox Code Playgroud)

oracle analytic-functions

7
推荐指数
1
解决办法
977
查看次数

sysdate-1 在 Oracle 作业中不起作用

我在 Oracle 中有一个存储过程。我想在 Oracle 的 JOBS 中调用它。

DECLARE 
  P_DATE   DATE;
  BEGIN    

  P_DATE := TO_DATE ('19/10/2016', 'DD/MM/YYYY');

  MITRA.PENJUALAN_ANTAR_CABANG.REPORTKONSOLRK ( P_DATE );
  COMMIT; 
END;
Run Code Online (Sandbox Code Playgroud)

当我将 P_DATE 执行为“19/10/2016”时,结果是正确的。但是当我像下面这样更改时,结果不会显示。

DECLARE
   P_DATE   DATE;
BEGIN
   P_DATE := TO_DATE (TRUNC (SYSDATE - 1), 'DD/MM/YYYY');

   MITRA.PENJUALAN_ANTAR_CABANG.REPORTKONSOLRK (P_DATE);
   COMMIT;
END;
Run Code Online (Sandbox Code Playgroud)

我的查询错误是什么,而如果我运行select trunc(SYSDATE-1) from dual日期是正确的。

sql oracle plsql date

1
推荐指数
1
解决办法
2129
查看次数

标签 统计

oracle ×2

analytic-functions ×1

date ×1

plsql ×1

sql ×1