10g nie ma tej funkcji. Zamiast tego użyj widoku:
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;
Alternatywą byłoby posiadanie kolumny w tabeli, aby zachować wartość za pomocą wyzwalacza — zarówno dla aktualizacji, jak i wstawiania. Sugerowałbym użycie widoku, ponieważ utrzymywanie wyzwalaczy wiąże się z dużym obciążeniem konserwacyjnym.
EDYCJA (przez Jasona):
W 11g możesz stworzyć wirtualną kolumnę w definicji tabeli.
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
)