国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle 9i 事務(wù)處理

2024-08-29 13:45:24
字體:
供稿:網(wǎng)友
   事務(wù)是Oracle 9i中進(jìn)行數(shù)據(jù)庫操作的基本單位,在PL/SQL程序中,可以使用3個事務(wù)處理控制命令。

commit命令

    commit是事務(wù)提交命令。在Oracle 9i數(shù)據(jù)庫中,為了保證數(shù)據(jù)的一致性,在內(nèi)存中將為每個客戶機建立工作區(qū),客戶機對數(shù)據(jù)庫進(jìn)行操作處理的事務(wù)都在工作區(qū)內(nèi)完成,只有在輸入commit命令后,工作區(qū)內(nèi)的修改內(nèi)容才寫入到數(shù)據(jù)庫上,稱為物理寫入,這樣可以保證在任意的客戶機沒有物理提交修改以前,別的客戶機讀取的后臺數(shù)據(jù)庫中的數(shù)據(jù)是完整的、一致的,如圖9.26所示。
Oracle 9i 事務(wù)處理
    在【SQLPlus Worksheet】中可以執(zhí)行下列PL/SQL程序打開自動提交功能。這樣每次執(zhí)行PL/SQL程序都會自動進(jìn)行事務(wù)提交。執(zhí)行結(jié)果如圖9.27所示。
    ―――――――――――――――――――――――――――――――――――――
    set auto on;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/setautocommiton.sql。
Oracle 9i 事務(wù)處理
    相應(yīng)的,取消自動提交功能的PL/SQL程序如下。
    ―――――――――――――――――――――――――――――――――――――
    set auto off;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/setautocommitoff.sql。

rollback命令

    ollback是事務(wù)回滾命令,在尚未提交commit命令之前,假如發(fā)現(xiàn)delete、insert和update等操作需要恢復(fù)的話,可以使用rollback命令回滾到上次commit時的狀態(tài)。
    下面以delete命令為例演示如何回滾。
    (1)首先關(guān)閉自動提交功能。
    (2)在【SQLPlus Worksheet】中執(zhí)行下列SQL程序,查看scott.emp數(shù)據(jù)表中的所有數(shù)據(jù),執(zhí)行結(jié)果如圖9.28所示。
    ―――――――――――――――――――――――――――――――――――――
    select * from scott.emp;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/selectemp.sql。
Oracle 9i 事務(wù)處理
    (3)在【SQLPlus Worksheet】中執(zhí)行下列SQL程序,刪除scott.emp數(shù)據(jù)表中的所有數(shù)據(jù)。執(zhí)行結(jié)果如圖9.29所示。
    ―――――――――――――――――――――――――――――――――――――
    delete from scott.emp;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/deleteemp.sql。
Oracle 9i 事務(wù)處理
    (4)在【SQLPlus Worksheet】中執(zhí)行下列SQL程序,查詢刪除數(shù)據(jù)表scott.emp后的結(jié)果。執(zhí)行結(jié)果如圖9.30所示。
    ―――――――――――――――――――――――――――――――――――――
    select * from scott.emp;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/selectemp.sql。
Oracle 9i 事務(wù)處理
    (5)在【SQLPlus Worksheet】中執(zhí)行以下SQL程序,完成事務(wù)的回滾。執(zhí)行結(jié)果如圖9.31所示。
    ―――――――――――――――――――――――――――――――――――――
    rollback;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/rollbackemp.sql。

Oracle 9i 事務(wù)處理
    (5)在【SQLPlus Worksheet】中執(zhí)行selectemp.sql文件,執(zhí)行結(jié)果如圖9.28所示,表明成功回滾了事務(wù)。

savepoint命令

    savepoint是保存點命令。事務(wù)通常由數(shù)條命令組成,可以將每個事務(wù)劃分成若干個部分進(jìn)行保存,這樣每次可以回滾每個保存點,而不必回滾整個事務(wù)。語法格式如下。
    創(chuàng)建保存點:savepoint 保存點名;
    回滾保存點:rollback to 保存點名;
    下面介紹如何使用保存點。
    (1)在【SQLPlus Worksheet】中執(zhí)行以下SQL程序,程序完成向scott.emp數(shù)據(jù)表中插入一條記錄。執(zhí)行結(jié)果如圖9.32所示。
    ―――――――――――――――――――――――――――――――――――――
    insert into scott.emp(empno,ename,sal) values(9000,'wang',2500);
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/insertemp.sql。
Oracle 9i 事務(wù)處理
    (2)在【SQLPlus Worksheet】中執(zhí)行下列SQL代碼,完成創(chuàng)建保存點的操作。執(zhí)行結(jié)果如圖9.33所示。
    ―――――――――――――――――――――――――――――――――――――
    savepoint insertpoint;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/ createsavepoint.sql。
Oracle 9i 事務(wù)處理
    (3)在【SQLPlus Worksheet】中可以執(zhí)行其他的SQL語句。
    (4)在【SQLPlus Worksheet】中執(zhí)行下列SQL代碼,程序完成回滾到指定的保存點“insertpoint”。執(zhí)行結(jié)果如圖9.34所示。
    ―――――――――――――――――――――――――――――――――――――
    rollback to insertpoint;
    ―――――――――――――――――――――――――――――――――――――
    【配套程序位置】:第9章/ rollbacksavepoint.sql。
Oracle 9i 事務(wù)處理
    (5)可以執(zhí)行selectemp.sql文件,查詢回滾前后的數(shù)據(jù)。

上一篇:Oracle 9i 審計

下一篇:Oracle 9i 游標(biāo)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉林市| 金昌市| 铜川市| 英吉沙县| 荆门市| 洛宁县| 纳雍县| 称多县| 安图县| 克东县| 萝北县| 探索| 抚宁县| 桂阳县| 根河市| 高尔夫| 盈江县| 内黄县| 南投县| 雷州市| 苗栗县| 涿州市| 龙南县| 米易县| 宁夏| 小金县| 彰武县| 含山县| 福清市| 九寨沟县| 疏勒县| 襄城县| 南康市| 荥经县| 成安县| 彭水| 白河县| 越西县| 云霄县| 本溪市| 自贡市|