sql >> Databasteknik >  >> RDS >> Oracle

Hur beräknar man ett kolumnvärde i oracle 10g?

10g har inte den här funktionen. Använd istället en vy:

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;

Alternativet skulle vara att ha kolumnen i tabellen för att bibehålla värdet med hjälp av en utlösare -- för både uppdateringar och infogningar. Jag skulle föreslå att du använder vyn, eftersom att bibehålla triggarna tillför en hel del underhållskostnader.

EDIT (av Jason):

I 11g kan du skapa en virtuell kolumn i tabelldefinitionen.

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
)


  1. Vilken är den bästa MySQL-samlingen för tyska språket

  2. Den version av SQL Server som används stöder inte datatypen datetime2?

  3. Visa alla databasnamn

  4. MySQL-transaktion över två databaser på olika servrar