Edit

Xem lại trạng thái table trước khi chỉnh sửa trong Oracle

05/16/2023
Một lần thay đổi data trong một table master mà quên mất giá trị trước đó là gì, mà lại càng sai trái hơn là không backup lại data trước khi thao tác. Thế là tìm cách compare lại data trước và hiện tại như thế nào. Research mãi mới ra được một câu lệnh khá hay của Oracle để xem đến tại thời điểm chỉ định .



SELECT * FROM EMP AS OF TIMESTAMP TO_TIMESTAMP('2005-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS') WHERE name = 'JOHN';
Sau đó bạn muốn insert dữ liệu vừa select ra đấy thì có thể sử dụng thêm câu lệnh bên dưới.

INSERT INTO EMP (SELECT * FROM EMP AS OF TIMESTAMP TO_TIMESTAMP('2005-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS') WHERE name = 'JOHN');

Chỉ đơn giản thế thôi nhưng hiệu quả vô cùng.