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

Tự động cập nhật trường trong cơ sở dữ liệu

thông tin trên cột TMP_PONYLIST là dư thừa (nó tồn tại ở một nơi khác). Bạn sẽ gặp phải tất cả các loại vấn đề để duy trì nó (Không có giải pháp nào hoạt động chính xác trong môi trường nhiều người dùng trừ khi có một số loại cơ chế khóa).

Trong một mô hình chuẩn hóa, bạn chỉ cần bỏ cột này khỏi mô hình vật lý. Nếu bạn cần thông tin, bạn có thể sử dụng một dạng xem, ví dụ với Oracle 11gR2:

CREATE OR REPLACE VIEW rider_v AS
SELECT rider_id, /*...,*/
       (SELECT listagg(p.pony_name, ';') WITHIN GROUP (ORDER BY p.pony_name)
          FROM t_pony p
          JOIN t_rider_pony rp ON (p.pony_id = rp.pony_id)
         WHERE rp.rider_id = r.rider_id) tmp_ponylist
  FROM t_rider r;

Xem SO ví dụ về tổng hợp chuỗi trước 11gR2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để sử dụng Timestamp_to_scn và Scn_to_timestamp trong Oracle?

  2. Tự động thực thi kích thước bảng cơ sở dữ liệu tối đa bằng cách loại bỏ các hàng cũ

  3. 40 câu hỏi bạn phải biết về R12.2

  4. Hiệu suất của Oracle DBMS_LOB.INSTR và CONTAINS

  5. Thay thế cho chức năng giải mã