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

Tạo trình kích hoạt để chèn vào bảng khác

Bạn không thể truy xuất bản ghi từ cùng một bảng trong một trình kích hoạt hàng. Bạn có thể truy cập các giá trị từ bản ghi thực tế bằng cách sử dụng:new và:old (đây có phải là trường hợp của bạn không?). Trình kích hoạt sau đó có thể được ghi lại thành

CREATE OR REPLACE TRIGGER AFTERINSERTCREATEBILL
AFTER INSERT
ON READING
FOR EACH ROW 

DECLARE

  varCustID   Varchar(10);

BEGIN 

  Select CustID INTO varCustID
    From Address A
    Join Meter M 
      on A.postCode = M.postCode
    Where M.MeterID = :new.MeterID;

  INSERT INTO BILL VALUES 
  (SEQBILLNO.NEXTVAL, SYSDATE, 'UNPAID' , 100 , varCustID , SEQREADNO.CURRVAL); 

END;

Nếu bạn cần truy vấn bản ghi khác từ bảng ĐỌC, bạn phải sử dụng kết hợp trình kích hoạt câu lệnh, trình kích hoạt hàng và tập hợp PLSQL. Ví dụ điển hình về điều này là trên AskTom.oracle.com



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ánh xạ NHibernate cho kiểu dữ liệu Oracle INTERVAL DAY TO SECOND

  2. Cột chỉnh sửa TableView JAVA FX

  3. Tạo dạng xem Pivot trong SQL từ bảng SQL

  4. Cách mã hóa dữ liệu trong Oracle bằng PL SQL

  5. Phân vùng chia nhanh