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

Oracle - cập nhật cùng một bảng mà trên đó trình kích hoạt được kích hoạt

Bạn không cần cập nhật lại bảng; bạn có thể sửa đổi dữ liệu trước khi được chèn, với trình kích hoạt cấp hàng trước khi chèn, ví dụ:

create trigger trig_pwd_date
before insert or update on temp_table
for each row
when (old.password is null and new.password is not null or new.password != old.password)
begin
  :new.pwd_change_date := systimestamp;
end;
/

db <> bản trình diễn fiddle

Điều này đã sử dụng newold tên tương quan để quyết định xem giá trị mật khẩu có thay đổi hay không; và new tên tương quan để chỉ định thời gian hệ thống cho trường trong từ ghi giả, trở thành giá trị cột khi quá trình chèn hoàn tất.

Hy vọng rằng bạn không lưu trữ mật khẩu văn bản thuần túy trong bảng của mình.



  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ận thời gian thực thi của script sql trong oracle sqlplus

  2. Mã định danh PLS-00201 'PACKAGENAME.PROCEDURENAME' phải được khai báo

  3. phiên bản trình điều khiển oracle jdbc điên rồ

  4. Cách tạo người dùng và cấp quyền trong Oracle

  5. ActiveMQ 5.8:Không thể tải lớp trình điều khiển JDBC 'oracle.jdbc.driver.OracleDriver'