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

Oracle:Sử dụng truy vấn con trong trình kích hoạt

Trình kích hoạt này sẽ làm điều đó:

CREATE OR REPLACE TRIGGER trigger_w_subquery
AFTER UPDATE OR INSERT ON project_archiving
FOR EACH ROW WHEN (old.archiving_status <> new.archiving_status
  AND new.archiving_status = 1
)
DECLARE
  l_offer projects.offer%TYPE;
BEGIN
  SELECT offer INTO l_offer 
  FROM projects 
  WHERE projnum = :new.projnum;

  IF l_offer IS NULL THEN
    INSERT INTO offer_log (offer, status, date)
    VALUES (null, 9, sysdate);
  END IF;
END;

Tôi đã giả định rằng lựa chọn từ các dự án sẽ luôn tìm thấy một hàng; nếu không, nó sẽ tạo ra một ngoại lệ NO_DATA_FOUND mà bạn có thể cần phải xử lý.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tránh sự cố với BigDecimal khi chuyển sang Java 1.4 sang Java 1.5+

  2. Làm thế nào để gửi email bằng Pl / sql

  3. OLEDB đọc nhanh nhất từ ​​ORACLE

  4. Entity Framework Core - Take (1), Single (), First () ... Không hoạt động với Nhà cung cấp Oracle (ORA-00933:Lệnh SQL không được kết thúc đúng cách)

  5. Không thể tắt tính năng bảo vệ trạng thái phiên trên Oracle APEX 18.1.0.00.45 cho các Hành động động cập nhật Mục trang