1. 程式人生 > >PL/SQL更改資料和管理事務

PL/SQL更改資料和管理事務

事務的特點
1 原子性 最小的執行單位
2 一致性 要麼就是開始狀態,要麼是最終狀態,沒有中間狀態
3 隔離性 外部看不到事務的內部細節
4 常見性 事務成功會儲存下來,其他事情影響不到


事務的生命週期
1事務自動開始,第一行SQL或者上一個事務完成後自動啟動下一個事務


2什麼時候結束?提交(commit)或者回滾(rollback)


3 DDL語言 屬於自動提交 create alter drop truncate


4部分回滾 savepoint設定儲存點,只回滾到儲存點。


鎖 資料庫系統通過一種機制,用來保障資料的安全可靠


分類1:內部鎖(Oracle內部的事情) DDL鎖 DML鎖


分類2:S 全表只讀鎖 樂觀鎖  X 全表排他鎖 悲觀鎖 RS 行級只讀鎖  RX 行級排他鎖  SRX 全表只讀行級排他鎖


S 全表只讀鎖share 樂觀鎖 只有當前會話能操作該表,其他會話只能用(select)此表,不能做增刪改行為
    create table XXX(......)
X 全表排他鎖exclusive 悲觀鎖 獨佔鎖 只有當前會話能操作該表,其他會話不能讀寫,必須等
    alter table XXX  ddd 列名 資料型別 ;如果資料量非常大,加約束將會導致操作時間變得很長
RS 行級只讀鎖row share 只有當前會話能操作該表,其他會話可以操作(增刪改查)其他記錄或者讀取(select)這幾條記錄
    update delete where 符號條件的列將會被鎖定只讀  其他會話查詢到這幾條記錄增刪改前的記錄
整張表的記錄全表被鎖定 還是隻能算行級鎖
RX 行級排他鎖row exclusive 只有當前會話能操作這幾條記錄,其他會話可以操作(增刪改查)其他記錄。
 insert 表名(欄位名) values(值);   被插入的記錄是排他鎖鎖定的,其他會話不能查詢到這幾條記錄
SRX 全表只讀行級排他鎖share row exclusive 只有當前會話可以操作這幾條記錄,其他會話可以讀取讀取(select)其他記錄。


分類3:行級鎖 表級鎖  資料庫級鎖


selecr * from 表名
 where 條件 for update
行級只讀鎖























相關推薦

PL/SQL更改資料管理事務

事務的特點 1 原子性 最小的執行單位 2 一致性 要麼就是開始狀態,要麼是最終狀態,沒有中間狀態 3 隔離性 外部看不到事務的內部細節 4 常見性 事務成功會儲存下來,其他事情影響不到 事務的生命週期 1事務自動開始,第一行SQL或者上一個事務完成後自動啟動下一個事務 2

PL / SQL 101:定義管理事務

如果您有一個只讀資料庫,則不必擔心事務。但是對於你將要構建的幾乎所有應用程式,情況並非如此。因此,交易的概念和管理對於您的應用程式的成功至關重要。 事務是Oracle資料庫作為一個單元處理的一個或多個SQL語句的序列:要麼執行所有語句,要麼都不執行。事務隱含地從獲取TX鎖的任何操作開始:

PL/SQL控制語句介紹

where 遊標 名稱 標識符 val 建議 完整性 boolean 超過 ----------------------------PL/SQL的組成------------------------------------------------------------PL

pl/sql中returnexit區別

經測試: 1、exit只能用於迴圈中,並且退出迴圈往下執行; 2、return可用於迴圈或非迴圈,並且退出整個程式模組不往下執行。 declare i number :=1; j number :=1; begin loop if i>3 then

Oracle中用sql語句建立管理

建立語法 create table [schema.]tablename (column datatype [default expr] [constaint], ....) 查看錶結構 desc tablename 克隆表 克隆整個表: create table e

Oracle中PL/SQL之常量變數的定義、遊標(游標)的使用

PL/SQL常量和變數的定義 變數的資料型別:char、varchar2、date、number、boolean、long 常量定義:isshow boolean :=true; 說明變數:說明變數名、資料型別和長度後用分號結束說明語句。例:e_name varchar2(20);

使用PL SQL資料匯出為Excel格式檔案

使用PL SQL將資料匯出為Excel格式檔案有兩種方法,第一種是先將查詢結果匯出為CSV檔案,然後再轉為Excel檔案;第二種是選中要匯出的查詢結果,右鍵,選擇複製到xls,即可。 兩種方法各有優勢: 第一種方法適用於匯出資料量特別大,如超過140多萬行資料,因為excel表格有最大行數限

PL/SQL單行函式組函式詳解

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

oracle pl/sql資料寫入Csv檔案 且以附件的形式傳送郵件

內容介紹 這篇文章將介紹,oracle 中如何將資料庫中查找出來的資料寫入csv 檔案,且將這個csv 檔案 ,用郵件以附件的形式傳送出去。如果你也想實現這個功能,請參考以下程式碼。如果想用sqlplus 方式實現,請參考我的另外一篇文章:sqlplus spool 生成csv檔案,且用

PL/SQL基於資料表與遊標的記錄操作例項講解

        PL/SQL記錄就是可以容納不同型別的資料項的資料結構。記錄由不同欄位,類似於資料庫表的行。PL/SQL可以處理記錄的以下幾種型別:基於資料表、基於遊標的記錄、使用者自定義記錄。使用%ROWTYPE屬性建立基於表格和基於遊標記錄。emp資料表的結構如下:   

pl/sql 連線資料 中文 亂碼

window  新增環境變數 NLS_LANG 數值資料是SIMPLIFIED CHINESE_CHINA.ZHS16GBK   linux bash下 NLS_LANG=AMERICAN_AMERI

SQL Server——資料管理(欄位的資料型別、臨時表、設定標識欄位、使用預設值、建立約束、修改表)

目錄   一、欄位的資料型別——例項: 二、臨時表 三、設定標識欄位  四、使用預設值 五、建立約束 六、修改表 一、欄位的資料型別——例項: 建立一個新表(如圖)  當然我們也可以就所設計的表進行修改:

PL/SQL知識總結(1):PL/SQL塊結構流程控制語句

前一段時間系統學習了Oracle PL/SQL的有關知識,內容有點多,所以覺得自己要總結一下,順便回顧,大家共同學習。 PL/SQL的概念 PL/SQL是 Procedure Language & Structured Query Languag

開發PL/SQl的子程式包 儲存過程函式

簡化指令碼 標準指令碼 工作環境 SQLPLUS Command Window SQLPLUS Test Window 語法要求 無 declare begain exception end 定義變數 var 名 資料型別 名 資料型別 使用變數 :名 名 賦值語句 ex

使用pl/sql備份資料

PL/SQL Developer是Oracle資料庫中用於匯入或匯出資料庫的主要工具,本文主要介紹了利用PL/SQL Developer匯入和匯出資料庫的過程,並對匯入或匯出時的一些注意事項進行了說明,接下來我們就一一介紹。 匯出步驟: 1 tools ->expor

SQLPL/SQL的效能優化之二--執行計劃管理

1、提示--它們僅是建議,優化器可以選擇忽略他們。事實上,優化器將盡可能地遵從優化提示,哪怕會導致空難性的效能影響。一般來說,只有當你用盡非直接方法(收集統計資訊,建立柱狀圖及設定配置引數等)之後,才可以考慮使用提示。     下面是一些更常見的提示:  

PL/SQL Developer匯入、匯出表結構資料

      在表的所有者不能改變的情況下,可以使用匯入匯出表結構和表資料的方法,將表移動到你想要的所有者下(注:特別是建立表的時候如果以sysdba的身份登入的話,所有表的所有者都為sys,此時會對你用c#訪問資料庫產生麻煩,我在我的另一篇文章中也提到《.NET連線Ora

Oracle PL/SQL Developer集成TFS進行團隊腳本文件版本管理

後臺數據庫 管理工具 下載地址 oracle 客戶端 對於傳統的使用關系型數據庫的大型軟件產品,後臺數據庫的持續開發和維護可能會產生大量的腳本文件,針對這些腳本文件應該怎樣比較方便的進行版本管理,以及如何快捷的在團隊之間進行權限等協作管理呢?不同的數據庫產品以及相應的客戶端管理工具與不同產

PLSQL(PL/SQL)集成Team Foundation Server (TFS),實現數據庫代碼的版本管理

tool 源代碼 比較 sql代碼 team 系列 系統 visual admin PL/SQL是面向Oralcle數據庫的集成開發環境,是眾多Oracle數據庫開發人員的主要工具。由於PL/SQL(百度百科)不僅是一種SQL語言,更是一種過程編程語言,在項目實施過程中,會

oracle sql 基礎(五):數據定義語言(創建管理序列、索引、同義詞)

aps span 最小值 into 全表掃描 條件 creat 返回 ext 許多應用程序要求使用唯一的數字作為主鍵的值,你即可以在應用程序中構建代碼來處理這種需求,也可以用一個序列來產生唯一的數字。如果你想要增進某些查詢的性能,你應該考慮創建一個索引,你也可