Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да изчисля стойност на колона в oracle 10g?

10g няма тази функция. Вместо това използвайте изглед:

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;

Алтернативата би била колоната в таблицата да поддържа стойността с помощта на тригер -- както за актуализации, така и за вмъквания. Бих предложил да използвате изгледа, защото поддържането на тригерите добавя много разходи за поддръжка.

РЕДАКТИРАНЕ (от Джейсън):

В 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
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите пространството за таблици в Oracle SQL Developer?

  2. Как да се отърва от NUL символи в базата данни на Oracle?

  3. Erlang и неговата консумация на Heap памет

  4. Свързване към групи от обекти чрез (ВЪНШНО ПРИЛОЖЕНИЕ) oracle 11.2.0.3.0 не поддържа прилагане

  5. PL/SQL програма за отпечатване на данни за служителите