成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle數據庫對DDL語句和DML語句的事務管理

數據庫 Oracle
本文主要介紹了Oracle數據庫對DDL語句和DML語句的事務管理方面的知識,及DDL語句和DML語句需要在一個事務中一塊處理的情況失敗時的解決方法,希望能夠對您有所幫助。

Oracle數據庫操作中,我們會遇到處理DDL語句DML語句的情況,如果遇到了Oracle DDL語句和DML語句需要在一個事務中一塊處理的情況,該方法要么成功,要么失敗。對于這個問題,SQL Server等數據庫是可以解決的,因為其能對DDL語句做回滾,而Oracle在執行DDL語句時會先執行commit,所以就不能對DDL語句回滾了。

事務相關概念:

1、首先,說說數據庫對事務的相關定義:

在數據庫中事務是工作的邏輯單元 , 一個事務是由一個或多個完成一組的相關行為的 SQL 語句組成 , 通過事務機制確保這一組 SQL 語句所作的操作要么完全成功執行 , 完成整個工作單元操作 , 要么一點也不執行。  事務具有ACID特性(即:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、持久性(Durability)),ACID的概念在ISO/IEC 10026-1:1992文件的第四段內有所說明(我找了半天也沒下載到這個標準,誰有的送我一份啊,呵呵)。

2、假設Oracle版本為10g,10g對應的jdbc版本為3。看一下JDBC3有關事務概念:

JDBC3提到了事務和分布式事務。對于大家經常說的嵌套事務,沒有提及。數據庫本質上從來沒有過嵌套事務的概念,只是應用程序為了不同的目的將對事務的操作過程嵌套起來,即使是Oracle的自治事務也可劃為應用程序(存儲過程或是觸發器什么的), 從應用角度講,嵌套事務處理就是應用程序如何將應用層面的嵌套轉變為數據庫層面的單事務操作, 這方面Java領域的EJB,Spring提供了解決方案,另外提一下JTA,它提供了事務的suspend,resume功能,實質上其實數據庫事務那里有什么掛起什么的概念,其僅僅是換了一個數據庫連接,這樣新的數據庫事務開始了,老的數據庫事務便不再操作,直接其被resume。)。

解決方法:

要想解決一個問題,找到問題的關鍵所在,就等于成功了一半。如上所述,該問題的關鍵所在又是什么呢?

Oracle在執行DDL語句時會先執行commit,所以就不能對DDL語句進行回滾。jdbc事務也不提供相關方法來進行回滾(spring、ejb或許可以,但沒測試過,不好說)。

既然應用的一些框架不能提供該功能,就只能自己想辦法解決了,怎么解決?反向操作!或許感覺有些麻煩,但不這么做又如何呢,在操作SQL語句成功后,后邊跟著反向操作的定義(內部類派上用場了),在一個大的事務中,如果出現異常,在異常的地方把反向操作執行一把即可。再進一步,如果讓所有的DDL語句能和DML語句用不同的數據庫連接,那么DML語句就不用反向操作了,節省了很多工作量,DML語句用事務的回滾多好啊!當然這樣做的前提是,在DDL執行時,不能和DML操作的資源引起沖突,即鎖的問題。

關于Oracle數據庫對DDL語句和DML語句的事務管理的知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. Oracle數據庫如何創建DATABASE LINK?
  2. Oracle 10g 數據庫閃回的配置與使用詳解
  3. SQL Server數據庫日志已滿的解決方法總結篇
  4. SQL Server分頁存儲過程的五種方法及性能比較
  5. 操作系統不支持SQL Server服務器組件的解決方案
責任編輯:趙鵬 來源: CSDN博客
相關推薦

2010-04-02 12:23:30

Oracle數據庫

2023-08-14 08:32:42

MySQL數據庫

2011-09-01 09:30:27

Oracle數據庫控制語句

2010-09-07 15:20:58

SQL語句事務

2023-11-20 09:28:44

2025-02-08 10:56:18

2017-12-26 15:10:30

數據庫Oracle操作語句

2010-04-20 15:22:34

Oracle SQL

2011-08-15 14:29:52

SQL Server數事務

2010-05-20 08:47:21

MySQL數據庫

2011-09-02 14:09:47

OracleDML命令

2010-11-18 10:06:16

Oracle數據庫性能

2010-04-15 08:57:29

Oracle數據庫

2011-03-31 09:30:27

SQL Server數管理SQL

2010-09-06 11:40:06

SqlServer語句

2010-05-04 11:02:44

Oracle數據庫

2009-03-09 17:46:16

ASP.NETSQLOracle

2011-08-09 17:48:54

Oracle參數文件

2010-04-21 08:50:08

2010-04-13 10:32:40

Oracle數據庫編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人免费一区二区三区视频网站 | 久久久免费| 久久国产精品一区二区三区 | 久久国产成人精品国产成人亚洲 | 久久久欧洲 | 欧美一区二区三区四区在线 | 99久久精品国产一区二区三区 | 999久久久 | 亚洲网在线 | 日日日视频 | 国产精品久久久久久影院8一贰佰 | 在线观看一区 | 超碰伊人 | 久久精品色欧美aⅴ一区二区 | 欧美亚洲视频在线观看 | www免费视频| 国产成人精品网站 | 91亚洲欧美 | 中文字幕福利视频 | 中文字幕在线第一页 | 新av在线| 亚洲va欧美va天堂v国产综合 | 午夜久久 | 成人毛片网 | 日本成人三级电影 | 亚洲国产精品视频 | 免费视频一区二区 | 欧美一级大黄 | 国产一区二区三区 | 九九在线视频 | 欧美一级www片免费观看 | 欧美日韩a | www.日韩| 国产传媒在线播放 | a级片在线观看 | 最新中文字幕在线播放 | 国产欧美日韩综合精品一区二区 | 久久久久香蕉视频 | 精品三级在线观看 | 91精品国产综合久久久久久 | 亚洲综合色自拍一区 |