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

INSERT kích hoạt để chèn bản ghi trong cùng một bảng

Đột biến xảy ra bất kỳ lúc nào bạn có trình kích hoạt cấp hàng sửa đổi bảng mà bạn đang kích hoạt. Vấn đề là Oracle không thể biết cách cư xử. Bạn chèn một hàng, chính trình kích hoạt sẽ chèn một hàng vào giống nhau bảng và Oracle bị nhầm lẫn, nguyên nhân, những lần chèn vào bảng do trình kích hoạt, chúng cũng phải chịu hành động kích hoạt?

Giải pháp là một quy trình gồm ba bước.

1.) Mức câu lệnh trước khi kích hoạt khởi tạo một gói sẽ theo dõi các hàng được chèn vào.

2.) Mức hàng trước hoặc sau trình kích hoạt lưu thông tin hàng đó vào các biến gói đã được khởi tạo ở bước trước.

3.) Mức câu lệnh sau khi kích hoạt chèn vào bảng, tất cả các hàng được lưu trong biến gói.

Ví dụ về điều này có thể được tìm thấy ở đây:

http://asktom.oracle.com/pls/asktom/ASKTOM .download_file? p_file =6551198119097816936

Hy vọng điều đó sẽ hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động cập nhật trường trong cơ sở dữ liệu

  2. Chèn dấu thời gian với JdbcTemplate trong cơ sở dữ liệu Oracle (ORA-01858)

  3. Làm cách nào để đặt lại tất cả các chuỗi trong Oracle DB của tôi về giá trị 0?

  4. Làm cách nào để trả về boolen trong refcursor?

  5. Không thể kết nối với Oracle DB nhận được lỗi là java.sql.SQLException:Io ngoại lệ:Bộ điều hợp mạng không thể thiết lập kết nối