就三條回滾了
創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、策勒網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、成都商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為策勒等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
第二條:
INSERT INTO nn values('abc','aaa');
第三條:
INSERT INTO nn values('def','ddd');
第四條:
INSERT INTO nn values('ghi','ggg');
因為create table想回滾也回滾不了
當(dāng)上邊這條未提交,直接回滾的話,就相當(dāng)于數(shù)據(jù)庫沒有寫入
execute執(zhí)行后
可以回滾
commit提交后
不可以回滾
其實Oracle提交數(shù)據(jù)是分兩步操作的,第一步execute執(zhí)行,第二步commit提交。對應(yīng)的PL\SQL也是要先點execute執(zhí)行,執(zhí)行后再點commit提交。
但是
commit提交后
可以用閃回查詢恢復(fù)原來的數(shù)據(jù)
因為oracle會將近期的數(shù)據(jù)保存到快照中
如:
SELECT
*
FROM
TABLE_1
AS
OF
TIMESTAMP
TO_TIMESTAMP('20080606
20:00:00','YYYYMMDD
HH24:MI:SS');
這里'20080606
20:00:00'就是你想恢復(fù)數(shù)據(jù)到哪個時間狀態(tài)
TABLE_1是數(shù)據(jù)庫的表名
這樣查詢到的數(shù)據(jù)就是執(zhí)行更新操作之前的數(shù)據(jù)
execute執(zhí)行后
可以回滾
commit提交后
不可以回滾
其實oracle提交數(shù)據(jù)是分兩步操作的,第一步execute執(zhí)行,第二步commit提交。對應(yīng)的pl\sql也是要先點execute執(zhí)行,執(zhí)行后再點commit提交。
但是
commit提交后
可以用閃回查詢恢復(fù)原來的數(shù)據(jù)
因為oracle會將近期的數(shù)據(jù)保存到快照中
如:
select
*
from
table_1
as
of
timestamp
to_timestamp('20080606
20:00:00','yyyymmdd
hh24:mi:ss');
這里'20080606
20:00:00'就是你想恢復(fù)數(shù)據(jù)到哪個時間狀態(tài)
table_1是數(shù)據(jù)庫的表名
這樣查詢到的數(shù)據(jù)就是執(zhí)行更新操作之前的數(shù)據(jù)
execute執(zhí)行后 可以回滾
commit提交后 不可以回滾
其實Oracle提交數(shù)據(jù)是分兩步操作的,第一步execute執(zhí)行,第二步commit提交。對應(yīng)的PL\SQL也是要先點execute執(zhí)行,執(zhí)行后再點commit提交。
但是 commit提交后 可以用閃回查詢恢復(fù)原來的數(shù)據(jù) 因為oracle會將近期的數(shù)據(jù)保存到快照中 如:
SELECT * FROM TABLE_1 AS OF TIMESTAMP TO_TIMESTAMP('20080606 20:00:00','YYYYMMDD HH24:MI:SS');
這里'20080606 20:00:00'就是你想恢復(fù)數(shù)據(jù)到哪個時間狀態(tài) TABLE_1是數(shù)據(jù)庫的表名 這樣查詢到的數(shù)據(jù)就是執(zhí)行更新操作之前的數(shù)據(jù)