使用同一个表上的其他列计算列

问题描述 投票:0回答:1

储蓄(账户号,利率,bal)

对于储蓄账户,利息等于余额乘以

每月一号将利率添加至账户。 请在 sql oracle 中强制执行。

尝试使用Triger,但显然我没有权限,并且学校的sql oracle中不允许子查询。还说我无法参考其他专栏。例如 bal = (利率 * balbalance) +余额

sql oracle
1个回答
0
投票

使用

UPDATE
语句。

UPDATE saving
SET balance = balance * (1 + interestRate);

每月第一天午夜运行一次。

如有必要,将其放入预定作业中:

DBMS_SCHEDULER.CREATE_JOB
(
   job_name        => 'AddInterest'
  ,start_date      => ADD_MONTHS(TRUNC(SYSDATE, 'MM'), 1)
  ,repeat_interval => 'FREQ=MONTHLY;INTERVAL=1'
  ,end_date        => NULL
  ,job_class       => 'DEFAULT_JOB_CLASS'
  ,job_type        => 'PLSQL_BLOCK'
  ,job_action      => 'UPDATE saving SET balance = balance * (1 + interestRate);'
  ,enabled         => TRUE
);
© www.soinside.com 2019 - 2024. All rights reserved.