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

Bảng kiểm tra Oracle Trigger cơ bản

Không hiểu tại sao bạn lại gặp lỗi nhưng tôi đã loại bỏ mọi thứ và xây dựng lại trình kích hoạt từ những điều cơ bản và làm cho điều này hoạt động:

CREATE OR REPLACE TRIGGER product_audit
  BEFORE INSERT OR DELETE OR UPDATE ON DD_Products
  FOR EACH ROW
DECLARE
  VAR_ChangeType CHAR(1);
BEGIN
  IF INSERTING   THEN VAR_ChangeType := 'I';
  ELSIF UPDATING THEN VAR_ChangeType := 'U';
  ELSE                VAR_ChangeType := 'D';
  END IF;
  INSERT INTO DD_PriceChange
  (
    PriceChangeNo,
    Change_Type,
    ChangeBy,
    ChangeDate, 
    NewProductPrice,
    NewRetailPrice, 
    OldProductPrice,
    OldRetailPrice
  ) VALUES (
    ProductHistory_SEQ.NEXTVAL,
    VAR_ChangeType,
    USER,
    SYSDATE,
    :NEW.ProductPrice,
    :NEW.RetailPrice,
    :OLD.ProductPrice,
    :OLD.RetailPrice
  );
END product_audit;
/

SQLFIDDLE




  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 ODP.Net và EF CodeFirst - Lỗi SaveChanges

  2. C #:Không thể truyền đối tượng từ DbNull sang các kiểu khác

  3. Sửa lỗi “ORA-01790:biểu thức phải có cùng kiểu dữ liệu với biểu thức tương ứng”

  4. Làm thế nào để sử dụng bảng tạm thời toàn cục trong thủ tục Oracle?

  5. Sự khác biệt giữa mặt nạ ngày 'yy' và 'rr' của oracle là gì?