Oracle SQL 如何让数据库计算一个列?

Oracle SQL how to make database calculate a column?

我想让数据库计算一个列。例如:有一列名为 'price'。每次我在价格中插入一个新值时,我希望另一个名为 'percent' 的列自动计算新值的 1%。像这样;

Price     Percent
100        1
250        2,5

我该如何创建这个?

创建虚拟列:

SQL> create table test
  2    (price       number,
  3     percent     number as (price * 0.01)        --> this
  4    );

Table created.

SQL> insert into test(price)
  2  select 100 from dual union all
  3  select 250 from dual;

2 rows created.

SQL> select * From test;

     PRICE    PERCENT
---------- ----------
       100          1
       250        2,5

SQL>