首页 > 解决方案 > Oracle SQL如何让数据库计算一列?

问题描述

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

Price     Percent
100        1
250        2,5

我怎样才能创建这个?

标签: oracleddlvirtual-column

解决方案


创建一个虚拟列:

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>

推荐阅读