Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để tính giá trị cột trong oracle 10g?

10g không có tính năng này. Thay vào đó, hãy sử dụng chế độ xem:

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;

Cách thay thế là có cột trong bảng để duy trì giá trị bằng cách sử dụng trình kích hoạt - cho cả cập nhật và chèn. Tôi khuyên bạn nên sử dụng chế độ xem này, bởi vì việc duy trì các trình kích hoạt sẽ thêm rất nhiều chi phí bảo trì.

EDIT (bởi Jason):

Trong 11g, bạn có thể tạo một cột ảo trong định nghĩa bảng.

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. java.lang.ArithmeticException khi cố gắng lấy kết nối trong Oracle 11.2.0.2.0 (64 bit)

  2. Nhận một từ sau từ cụ thể bằng cách sử dụng regexp_substr trong sql oracle

  3. xuất sqoop từ hdfs sang lỗi oracle

  4. Tinh chỉnh Oracle DG40DBC

  5. Làm thế nào tôi có thể duy trì một số nhận dạng duy nhất giữa nhiều bảng cơ sở dữ liệu?