誤用DELETE刪除了ORACLE表的資料怎麼辦

2022-08-24 02:15:09 字數 911 閱讀 8272

第一種情況:使用delete刪除資料

1. 用以下語句找出確定時間點刪除的資料:

select * from 表名 as of timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh24:mi:ss')

或者用以下語句找出當前時間之前幾分鐘的資料:

select * from 表名 as of timestamp (systimestamp - interval '2' minute);

2. 然後就可以使用insert語句插入刪除的資料

第二種情況:使用drop刪除表

1.使用正常drop命令刪除的表(沒有使用purge)

使用drop刪除的表並沒有完全刪除,它的塊依舊保留在其表空間中,可以通過查詢user_recyclebin/dba_recyclebin資料字典檢視來檢視刪除的物件。預設情況下,**站是啟用的,初始化引數recyclebin=on。

例如刪除了一張emp表,可以通過以下語句閃回表

flashback table emp to before drop;

flashback table emp to before drop rename to emp2;--重新命名

也可以通過刪除recyclebin區域來永久性刪除表 ,原始刪除表drop table emp cascade constraints

purge table emp;

刪除當前使用者的**站:

purge recyclebin;

刪除全體使用者在**站的資料:

purge dba_recyclebin

delete 刪除語句

delete 語句用於刪除表中的行。delete from 表名稱 where 列名稱 值 lastname firstname address city gates bill xuanwumen 10 beijing wilson fred zhongshan 23 nanjing fred wi...

資料刪除 delete

資料刪除 在刪除的時候需要詢問是否真的需要刪除?同時在之後的專案中,刪除往往不是真的刪除,而是做刪除標記 語法 delete from 表名 where 條件 delete from teacher 刪除指定的人員資訊 delete from teacher where id 26 使用delete...

使用delete刪除指標

原文 用delete命令處理某個指標,說是把那個指標刪除了是不正確的。delete命令指示釋放了那個指標原本所指的那部分記憶體而已。被delete後的指標p的值 位址值 並非就是null,而是隨機值。也就是被delete後,如果不再加上一句p null,p就成了 野指標 在記憶體裡亂指一通。如果在定...