2016-01-27 37 views
1

我剛剛從表中的一個表中刪除了Oracle數據庫中的數據。從oracle數據庫中獲取表的刪除值

任何人都可以讓我知道如何獲得表格數據嗎?

我的表名是XXACL_PN_SUPINV_MENU_HDR

+0

把這個評論也放在這裏,所以你看到它。在進行有風險的測試之前做一個表的備份:'將表XXACL_PN_SUPINV_MENU_HDR_BKUP創建爲select * from XXACL_PN_SUPINV_MENU_HDR;'並且如果只需要沒有數據的結構:'create table XXACL_PN_SUPINV_MENU_HDR_NEW as select * from XXACL_PN_SUPINV_MENU_HDR WHERE 1 = 2;'「An anounce預防值得一磅治療「 - 本傑明富蘭克林 –

回答

1

,如果你已經在執行事務中查詢您只能取回數據。如果查詢在事務中,那麼您可以使用ROLLBACK statement來獲取數據。但是如果你的查詢不在一個事務中,那麼就沒有辦法獲取數據。

+0

我沒有使用過ROLLBACK語句:( – learner

+0

@learner:你的刪除查詢是否在一個事務中? –

+0

我可以從備份中獲取數據嗎? – learner

1

我意識到你已經恢復了你的數據,但是如果你提交了更改,快速恢復它的方法是在刪除之前使用閃回查詢返回到時間戳。如果您知道,您可以通過主鍵選擇行,並用INSERT .. SELECT將其插回。

SELECT * 
    FROM XXACL_PN_SUPINV_MENU_HDR AS OF TIMESTAMP(to_timestamp('27-JAN-2016 10:00:00', 'DD-MON-YYYY HH24:MI:SS')) t;