在Oracle 12c中随时间增加字段值

时间:2017-08-23 18:19:14

标签: sql oracle stored-procedures plsql oracle12c

我是数据库和DBMS的新手。我有一个表,其中有多个整数字段。 Number(3,0)

有没有办法随着时间的推移用PL / SQL(自动)增加(+1)这些字段?

例如,我的表中有TEST(Number(3,0))字段,我希望它的值每经过一小时就增加一个。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

对于一个小游戏,我希望每个用户在他们的帐户中为每天/每小时获得一个额外的硬币

您可以创建工作:

DBMS_SCHEDULER.create_job (
    job_name        => 'give_gold',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN UPDATE tab_name SET gold_val = gold_val+1; END;',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'freq=hourly; byminute=0',
    end_date        => NULL,
    enabled         => TRUE,
    comments        => 'This job gives +1 gold every hour');

当然,您可以触发存储过程并进行复杂的计算。更多信息: DBMS_SCHEDULER