execute執(zhí)行后
盤錦網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
可以回滾
commit提交后
不可以回滾
其實(shí)Oracle提交數(shù)據(jù)是分兩步操作的,第一步execute執(zhí)行,第二步commit提交。對(duì)應(yīng)的PL\SQL也是要先點(diǎn)execute執(zhí)行,執(zhí)行后再點(diǎn)commit提交。
但是
commit提交后
可以用閃回查詢恢復(fù)原來的數(shù)據(jù)
因?yàn)閛racle會(huì)將近期的數(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ù)到哪個(gè)時(shí)間狀態(tài)
TABLE_1是數(shù)據(jù)庫的表名
這樣查詢到的數(shù)據(jù)就是執(zhí)行更新操作之前的數(shù)據(jù)
execute執(zhí)行后 可以回滾
commit提交后 不可以回滾
其實(shí)Oracle提交數(shù)據(jù)是分兩步操作的,第一步execute執(zhí)行,第二步commit提交。對(duì)應(yīng)的PL\SQL也是要先點(diǎn)execute執(zhí)行,執(zhí)行后再點(diǎn)commit提交。
但是 commit提交后 可以用閃回查詢恢復(fù)原來的數(shù)據(jù) 因?yàn)閛racle會(huì)將近期的數(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ù)到哪個(gè)時(shí)間狀態(tài) TABLE_1是數(shù)據(jù)庫的表名 這樣查詢到的數(shù)據(jù)就是執(zhí)行更新操作之前的數(shù)據(jù)
就三條回滾了
第二條:
INSERT INTO nn values('abc','aaa');
第三條:
INSERT INTO nn values('def','ddd');
第四條:
INSERT INTO nn values('ghi','ggg');
因?yàn)閏reate table想回滾也回滾不了
當(dāng)上邊這條未提交,直接回滾的話,就相當(dāng)于數(shù)據(jù)庫沒有寫入
在沒有做過commit或者其他會(huì)導(dǎo)致隱式提交的語句之前(如DDl語言), 可以執(zhí)行rollback.
提交過只能用閃回或者從備份中恢復(fù)了