gpt4 book ai didi

sql - 如何计算 oracle 10g 中的列值?

转载 作者:行者123 更新时间:2023-12-02 07:34:45 25 4
gpt4 key购买 nike

create table ord_tbl
(
ord_id number(10) primary key,
ord_name varchar2(20),
quantity number(20),
cost_per_item number(30),
total_cost number(30)--This colm shud be (quantity*cost_per_item),
ord_date date
)

因此,当我插入行时,“total_cost”应该会自动生成并插入到表中

最佳答案

10g 没有这个功能。相反,使用 View :

create table ord_tbl
(
ord_id number(10) primary key,
ord_name varchar2(20),
quantity number(20),
cost_per_item number(30),
ord_date date
);

create view vw_ord_tbl as
select ord_id, ord_name, quantity, cost_perId, (quantity*cost_per_item) as total_cost, ord_date
from ord_tbl;

另一种方法是让表中的列使用触发器维护值——用于更新和插入。我建议使用 View ,因为维护触发器会增加很多维护开销。

编辑(杰森):

在 11g 中,您可以在表定义中创建一个虚拟列。

create table ord_tbl (
ord_id number(10) primary key,
ord_name varchar2(20),
quantity number(20),
cost_per_item number(30),
total_cost as (quantity*cost_per_item),
ord_date date
)

关于sql - 如何计算 oracle 10g 中的列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com