plsql只提交存储过程里的事务_plsql 存储过程 事务 | 学步园
1、事務用于確保數據的一致性,由一組相關的DML語句組成,該組DML語句所執行的操作要么全部確認,要么全部取消。
2、當執行事務操作(DML)時,Oracle會在被作用的表上加鎖,以防止其他用戶改變表結構,同時也會在被作用的行上加行鎖,以防止其他事務在相應行上執行DML操作。
3、當執行事務提交或事務回滾時,Oracle會確認事務變化或回滾事務、結束事務、刪除保存點、釋放鎖。
4、提交事務(COMMIT)確認事務變化,結束當前事務、刪除保存點,釋放鎖,使得當前事務中所有未決的數據永久改變。
5、保存點(SAVEPOINT)在當前事務中,標記事務的保存點。
6、回滾事務(ROLLBACK)回滾整個事務,刪除該事務所定義的所有保存點,釋放鎖,丟棄所有未決的數據改變。
7、回滾事務到指定的保存點(ROLLBACK TO SAVEPOINT)回滾當前事務到指定的保存點,丟棄該保存點創建后的任何改變,釋放鎖。
8、當執行DDL、DCL語句,或退出SQL*PLUS時,會自動提交事務;
9、事務期間應避免與使用者互動;
10、查詢數據期間,盡量不要啟動事務;
11、盡可能讓事務持續地越短越好;
12、在事務中盡可能存取最少的數據量
案例:
whenothersthen
others處本應該寫異常名稱,如果不想把異常分得那麼細,可以籠統一點用others來捕獲,即所有異常均用others來捕獲。
RAISE_APPLICATION_ERROR
是將應用程序專有的錯誤從服務器端轉達到客戶端應用程序(其他機器上的SQLPLUS或者其他前臺開發語言)
createorreplaceprocedurestu_proc
(
v_idinnumber,
v_nameinvarchar2,
v_ageinnumber,
v_msg outvarchar2)asbegininsertintostudent(id, sname, age)values(v_id, v_name, v_age);commit;
v_msg:='添加成功';
exceptionwhenothersthenrollback;
v_msg:='失敗成功';
RAISE_APPLICATION_ERROR(-20010,'ERROR:違反唯一索引約束!');end;
總結
以上是生活随笔為你收集整理的plsql只提交存储过程里的事务_plsql 存储过程 事务 | 学步园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python os.system关闭lo
- 下一篇: lol无限火力详情有哪些(英雄联盟无限火