1. 程式人生 > >資料庫基礎知識五:自治事務

資料庫基礎知識五:自治事務

自治事務
PRAGMA AUTONOMOUS_TRANSACTION中文翻譯過來叫“自治事務”,對於定義成自治事務的Procedure,實際上相當於一段獨立執行的程式段,這段程式不依賴於主程式,也不干涉主程式。

自治事務常用於
事務的原子性會使將錯誤資訊記入資料庫表中變得很困難,因為當事務失敗重新執行時,用來編寫日誌條目的INSERT語句還未完成。自治事務能獨立地被提交或重新執行,而不影響正在執行的事務。因此成了編寫錯誤日誌表格的理想形式。

自治事務的特點
1:這段程式不依賴於原有Main程式,比如Main程式中有未提交的資料,那麼在自治事務中是查詢不到的。
2:在自治事務中,commit或者rollback只會提交或回滾當前自治事務中的DML,不會影響到Main程式中的DML。

自治事務可用於
匿名塊
觸發器
儲存過程

用法:

 PROCEDURE insert_itf_claim_form_status(x_itf_id    OUT NUMBER,
                                         p_form_code IN VARCHAR2,
                                         p_action    IN VARCHAR2,
                                         p_user_id   NUMBER) IS
    PRAGMA AUTONOMOUS_TRANSACTION;
  
    v_record itf_qms_claim_form_status%ROWTYPE;
  BEGIN
    SELECT qms_claim_form_status_s.nextval
      INTO x_itf_id
      FROM dual;
    v_record.itf_qms_claim_form_status_id := x_itf_id;
    v_record.form_code                    := p_form_code;
    v_record.action                       := p_action;
    v_record.creation_date                := SYSDATE;
    v_record.created_by                   := p_user_id;
    v_record.last_update_date             := SYSDATE;
    v_record.last_updated_by              := p_user_id;
    INSERT INTO itf_qms_claim_form_status
    VALUES v_record;
    COMMIT;
  END insert_itf_claim_form_status;

相關推薦

資料庫基礎知識自治事務

自治事務 PRAGMA AUTONOMOUS_TRANSACTION中文翻譯過來叫“自治事務”,對於定義成自治事務的Procedure,實際上相當於一段獨立執行的程式段,這段程式不依賴於主程式,也不干涉主程式。 自治事務常用於 事務的原子性會使將錯誤資訊記入資料

MySQL資料庫基礎知識(檢視和儲存程式)

使用檢視 檢視是一個虛表,它是在表或其他檢視的基礎上,使用SELECT語句來定義的。 建立檢視: create view view_name as select last_name,first_name from president;//建立虛表view_name,表為

資料庫基礎知識資料庫的種類與SQL

1:關係型資料庫 RDBMS(關係型指關係模型,即二維表格模型) 常用 Oracle,Mysql,SQL Server 特點 1:關係型資料庫是由多張能互相聯接的二維行列表格組成的資料庫 2:提供對SQL的支援,可以實現複雜的查詢 3:支援事務處理,能保持資料一

資料庫基礎知識資料庫中的約束和三大正規化

一.資料庫中的正規化:   正規化, 英文名稱是 Normal Form,它是英國人 E.F.Codd(關係資料庫的老祖宗)在上個世紀70年代提出關係資料庫模型後總結出來的,正規化是關係資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法,以下就是對

MySQL資料庫基礎知識三(事務處理)

事務指的是一組SQL語句,它們是一個執行單位,且在必要時還可以取消。事務處理是通過使用提交和回滾功能來實現的。 另一個用途確保某個操作所涉及的行不會在你正在使用它們時被其他客戶端修改。事務把多條語句定義為一個執行單位,防止在多客戶端環境裡可能會發生的併發問題。 事務系統通

c# 擴展方法奇思妙用基礎Dictionary<TKey, TValue> 擴展

ews public turn false div role 自我 cnblogs static Dictionary<TKey, TValue> 類是常用的一個基礎類,但用起來有時確不是很方便。本文逐一討論,並使用擴展方法解決。 向字典中添加鍵和值 添加鍵和值

Python基礎知識hello world,註釋,變量,數據類型

我們 重要 一個 yield code oba () turn 編程語言   從接觸編程語言以來,在我腦海裏經常有三個問號: 這是什麽? 這個有什麽用? 這個怎麽用?   我覺得初學一個東西,把這三個問號都搞明白,那麽剩下的就是孰能生巧的過程了,在接下來的博客中,每個知

tensorflow 基礎學習MNIST手寫數字識別

truncate averages val flow one die correct 表示 data MNIST數據集介紹: from tensorflow.examples.tutorials.mnist import input_data # 載入MNIST數據集,

計算機科學基礎知識()動態鏈接

offset 格式 分析 目標 修改 block -o obj 重復 一、前言 本文以類似hello world這樣的簡單程序為例,描述了動態連接的概念。第二章描述了整個動態鏈接的大概過程,隨後的兩章解析了程序訪問動態庫中的數據和調用動態庫中函數的過程。 註意:閱讀本文之前

第二篇 python基礎知識總結數據、運算符

pre http 賦值 float 異或 mage IT ext inpu   引子 我們跟任何人交流,說的每一句都是都一些文字組成,包含名詞、動詞、語句、標點符號等,組成我們說普通話構成的基本要素。同理我們學習python語言也要明白這些基本要素,也就是我們常說的

程式設計師教程-6章-資料庫基礎知識

  目錄結構:   6.1 基本概念     6.1.1 資料庫系統     6.1.2 資料庫管理技術的發展       1 人工管理階段       2 檔案系統階段       3 資料庫系統階段     6.1.3 大資料       1 大資料產生背景       2 大資料的特徵

Shell基礎知識4流程控制語句

1 if 條件測試語句 if條件測試語句可以讓指令碼根據實際情況自動執行相應的命令。 1.1 if語句分類 1、單分支結構。 2、雙分支結構。 3、多分支結構。 1.2 單分支結構 if 條件語句的單分支結構由 if、then、fi 關鍵片語成。 如果

ORACLE資料庫基礎知識總結

1、RMAN全備備份檔案的順序 備份歸檔日誌、所有的資料檔案、控制檔案、spfile、再次備份歸檔日誌 2、redo日誌丟失恢復 redo日誌的三種狀態是current、active、inactive inactive,可以重建 clear log active、current不能變成inactive,只能通

無線通訊基礎知識17訊號完整性處理的8個基本原則

1、電容上電壓變化時必然形成電流。對於高頻訊號分量,即使很小的分佈電容都可能有很低的阻抗,從而使得訊號完整性問題變得很嚴重。 2、電感與圍繞電流周圍的磁力線匝數本質上是一致的。只要電流或者磁力線匝數發生改變,在導線的兩端就會產生電壓。這一電壓導致了地彈(Ground Bounce)、反射和串

無線通訊基礎知識16訊號完整性

1、訊號完整性 訊號完整性(SI),是指訊號電壓(電流)完美的波形形狀及質量。由於物理互連造成的干擾和噪聲,使得連線上訊號的波形外觀變差,出現了非正常形狀的變形,稱為訊號完整性被破壞。訊號完整性問題是物理互連在高速情況下的直接結果。 訊號完整性強調訊號在電路中產生正確響應的能力。 訊

tensroflow基礎知識() tensor常量生成

tensorflow中的tensor常量 1. 隨機常量 1.1 正態分佈 1.2 均勻分佈

Android學習之基礎知識—編寫聊天介面

第一步:在app/build.grandle新增RecyclerView依賴庫 第二步:在activity_main.xml檔案中編寫主介面:聊天、傳送框、傳送按鈕三個部分 第三步:編寫Message實體類 第四步:編寫RecyclerView子項佈局message_item.xml,包含訊

PCB設計基礎知識之一PCB Layout的三種特殊走線技巧

佈線(Layout)是PCB設計工程師最基本的工作技能之一。走線的好壞將直接影響到整個系統的效能,大多數高速的設計理論也要最終經過Layout得以實現並驗證,由此可見,佈線在高速PCB設計中是至關重要的。 下面主要從直角走線,差分走線,蛇形線等三個方面來闡述PCB Layout特殊走線技巧。

資料庫黑客知識速成關於入門你需要知道的全部

資料庫及其基本概念 本文用到的線上學習資源:https://www.w3schools.com/sql/ 從小白到黑站入門,本文提供最全面的一條龍服務。(゜-゜)つロ 乾杯~ 資料庫是按照資料結構來組織、儲存和管理資料的倉庫。 它誕生於 60 多年前的 1950 年

MySQL資料庫基礎知識四(外來鍵和引用)

級聯刪除,級聯更新 外來鍵維護資料的一致性。 下面是幾條術語: 父表:包含原始鍵值的表。 子表:引用了父表中鍵值的相關表。 建立父表和子表關聯案例 父表: create table parent { par_id INT NOT NULL, PRIMAR