在我的列 - Oracle中自动插入百分比值

时间:2016-10-07 05:52:44

标签: sql oracle oracle11g oracle-sqldeveloper

我想设置一个表,该表自动将百分比值插入到下面给定表中的最后两列中。下表的代码如下:

CREATE TABLE CHIT_CHAT_BILLING
(
  BILL_NO NUMBER(3) UNIQUE NOT NULL,
  CHAT_NAME VARCHAR2(20) NOT NULL,
  PRICE NUMBER(3) DEFAULT 0,
  PURCHASE_TIME TIMESTAMP NOT NULL,
  SERVICE_TAX NUMBER(4,1),
  VAT NUMBER(3,1) 
);

我的插入查询将是:

INSERT INTO 
CHIT_CHAT_BILLING (BILL_NO, CHAT_NAME, PRICE, PURCHASE_TIME)
VALUES (CHIT_CHAT_BILLING_SEQ.NEXTVAL,'PANI PURI','18','22-APR-2016 05:15:45 PM');

SERVICE_TAX&的价值应自动插入VAT列, 其中 SERVICE_TAX = PRICE 的12.5%& 增值税= PRICE

的4.5%

PS:我使用Oracle 11g Express Edition作为我的数据库

1 个答案:

答案 0 :(得分:0)

您可以使用虚拟列:

CREATE TABLE CHIT_CHAT_BILLING
(
  BILL_NO NUMBER(3) UNIQUE NOT NULL,
  CHAT_NAME VARCHAR2(20) NOT NULL,
  PRICE NUMBER(3) DEFAULT 0,
  PURCHASE_TIME TIMESTAMP NOT NULL,
  SERVICE_TAX AS(PRICE*0.125),
  VAT AS (PRICE*0.045)
);

*此功能仅在11g后支持。