本当に追加のテーブルが必要ですか?
必要なデータは簡単なクエリで取得できます。テーブルのように表示したい場合は、ビューとして作成できます。
これにより、探しているデータが得られます:
select
account, bookdate, amount,
sum(amount) over (partition by account order by bookdate) running_total
from t
/
これにより、データをテーブルであるかのように表示するビューが作成されます。
create or replace view t2
as
select
account, bookdate, amount,
sum(amount) over (partition by account order by bookdate) running_total
from t
/
テーブルが本当に必要な場合は、常に更新する必要があるということですか?それとも1回限りですか?明らかに、それが1回限りの場合は、上記のクエリを使用して「選択としてテーブルを作成」することができます。
私が使用したテストデータは次のとおりです。
create table t(account number, bookdate date, amount number);
insert into t(account, bookdate, amount) values (1, to_date('20080101', 'yyyymmdd'), 100);
insert into t(account, bookdate, amount) values (1, to_date('20080102', 'yyyymmdd'), 101);
insert into t(account, bookdate, amount) values (1, to_date('20080103', 'yyyymmdd'), -200);
insert into t(account, bookdate, amount) values (2, to_date('20080102', 'yyyymmdd'), 200);
commit;
編集:
追加するのを忘れた;テーブルを順序付けすることを指定しました-これは実際には意味がなく、クエリ/ビューが必要であることを本当に意味していると思います-順序付けは実行したクエリの結果であり、固有のものではありませんテーブル(インデックス編成テーブルなどは無視)