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

首頁 > 數據庫 > Oracle > 正文

Oracle事務處理

2024-08-29 13:54:57
字體:
來源:轉載
供稿:網友

Oracle中的事務管理命令

set autocommit=off	取消自動提交處理,開啟事務處理set autocommit=on	打開自動提交處理,關閉事務處理commit	提交事務rollback to[回滾點]	回滾操作savepoint 事務保存點名稱	設置事務保存點在Oracle數據庫中,每個連接到此數據庫的用戶都是一個session,每個session都擁有獨立的事務,不同的session事務是完全隔離的;

事務操作的基本形式

1.    打開兩個sqlplus,表示兩個session,使用同一個賬號登陸即可;

示例:第一個sqlplus執行以下語句:DELETE FROM myemp WHEREMONTHS_BETWEEN(sysdate,hiredate)/12>32 ;

第一個sqlplus窗口執行以下的數據庫查詢操作SELECT empno,ename,hiredate,job,sal FROM myemp ;可以發現數據已經刪除

2.    第二個sqlplus窗口執行以下的數據庫查詢操作,會發現數據并沒有刪除

         這就是事務操作造成的。對每個session而言,每個數據庫的更新操作在事務沒有被提交之前都只是暫時保存在一段緩沖區中,并不會真正向數據庫中發出命令,如果用戶發現操作有問題,則可以進行事務的回滾

SELECT empno,ename,hiredate,job,sal FROM myemp ;

3.    在第一個sqlplus窗口中使用ROLLBACK回滾事務

ROLLBACK ;

當事務回滾完成之后,再次查詢myemp表中的相關數據,會發現數據恢復了SELECT empno,ename,hiredate,job,sal FROM myemp ;

4.    可以通過提交事務,讓刪除操作起作用

DELETE FROM myemp WHERE MONTHS_BETWEEN(sysdate,hiredate)/12>32 ;COMMIT ;

5.    事務提交后,通過第二個sqlplus窗口查看刪除后的myemp表內容

SELECT empno,ename,hiredate,job,sal FROM myemp ;

默認,執行rollback意味著全部的操作都要回滾,要回滾到指定的操作,可以采用savepoint設置一些保存點,在回滾的時候,就可以通過rollback返回指定的保存點上,savepoint

設置多個更新操作

	--插入數據:	insert into myemp(empno,ename,hiredate,job,sal) values(1234,'hey',to_date('1988-05-29','yyyy-mm-dd'),'經理',3000);	--更新數據:	update myemp set sal = 5000 where empno=1234;	--設置存儲點A:	SAVEPOINT sp_a;	--插入數據:	insert into myemp(empno,ename,hiredate,job,sal) values(5678,'yang',to_date('1989-11-11','yyyy-mm-dd'),'人事',2000);	--更新數據:	update myemp set job = '總監' where empno = 5678;	--設置存儲點B:	SAVEPOINT sp_b;	--刪除全部數據:	delete from myemp;

	--執行以上的命令之后,會設置兩個存儲點,sp_a,sp_b;	--查詢myemp表的數據,會找不到任何數據	SELECT empno,ename,hiredate,job,sal FROM myemp ;	--下面使用sp_b保存點,回滾	ROLLBACK TO sp_b ;	--再次查詢	SELECT empno,ename,hiredate,job,sal FROM myemp ;	--再將事務回滾到sp_a	ROLLBACK TO sp_a ;	--再次查詢此表查看變化;

設置事務自動提交

1.    通過設置存儲點回滾比較麻煩,通過如下命令設置事務的自動提交

2.    將事務設置成自動提交,語法:

SET AUTOCOMMIT [ON | OFF];
設置事務自動提交:SET AUTOCOMMIT ON ;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安顺市| 永定县| 拜泉县| 迁安市| 伊宁县| 边坝县| 大余县| 彭水| 兴化市| 南澳县| 吉木乃县| 崇明县| 苏尼特右旗| 筠连县| 阿坝县| 新郑市| 汶上县| 富裕县| 绥阳县| 鸡东县| 昌乐县| 宜兴市| 茂名市| 武功县| 鄢陵县| 筠连县| 米林县| 镇赉县| 亳州市| 桃江县| 西昌市| 五华县| 咸阳市| 广昌县| 康保县| 牙克石市| 乌兰浩特市| 合江县| 准格尔旗| 内江市| 达日县|