Drop、Delete与Trunc的区别和应用方式 |
在Oracle数据库中, 以下是它们之间的区别以及如何来进行恢复数据 。 1. DROP 表功能: 语法: DROP TABLE table_name; 后果:使用 2. DELETE 表功能: 语法: DELETE FROM table_name WHERE id='1001'; 或删除所有数据: DELETE FROM table_name; 后果: 3. TRUNCATE 表功能: 影响:无法通过 语法: TRUNCATE TABLE table_name; 4. 恢复数据
如果你误删了表,可以通过 Oracle 的 闪回技术(Flashback Technology) 来恢复表,但前提是数据库启用了闪回功能,且满足相关条件 。 闪回表 示例: FLASHBACK TABLE table_name TO BEFORE DROP; 这种方法可以恢复最近被删除的表 。
如果在执行 ROLLBACK; 如果已经提交了事务,数据将无法通过 闪回查询 : SELECT * FROM table_name AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR); 将闪回查询结果插入表中 : INSERT INTO SELECT * FROM table_name AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR);
如果需要恢复一个被
如果没有使用闪回技术或启用了相应的恢复机制,恢复方法通常是从全库或部分备份中还原被删除的表或数据 。 总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持 。 |