1. 誰能詳細介紹下sql中的「事務 」 ,不要百度答案,寫下自己的心得,不勝感激
sql事務就是你在執行update或者insert語句時,信息是否提交的控制,資料庫默認是直接提交,如果你一次執行2條sql,第一條成功了,第二條失敗了,你肯定想著兩條要麼都成功,要麼都失敗,這時候你就要用事務來控制,在兩條都成功後,提交事務,否則進行事務回滾
2. 在sql中寫的所有語句都是事務嗎如果不是,為什麼,並且在什麼情況下寫事務的語句
都是。所有語句隱式地都是一個事務。
當我們想根據需要將一組SQL語句一起提交,要麼全部成功,要麼全部失敗時,才需要顯示地使用事務。主要是因為資料庫的數據一致性。
3. SQL的存儲過程和事務是怎麼回事
存儲過程就相當於編程語言中的函數或方法,根據用戶給定的參數執行一段代碼
例:你給我20分,我從鍵盤輸入文字,回答問題,並提交答案.我所做的就是一個存儲過程,你給的20分是參數,你給的分多,我就回答的詳細
事務是一種機制,確保一組資料庫命令,要麼全都執行,要麼都不執行
例:你到銀行轉帳1000元到我的賬戶里,當錢剛從你的賬戶里取出來(還沒來的及轉入我的賬戶),突然斷電了,這時你的賬戶就莫名其妙的損失了1000元,事務就是為了避免這種情況,只有當你的賬戶減少1000,並且我的賬戶存入1000之後,這個轉帳才算成功,所以就要將"存款"和"取款"寫到一個事務中去
4. 事務在SQL中有什麼作用
事務的好處在於,當你需要對多個表進行相關性操作時,使用BeginTrans()開啟事務,然後操作,如果中間哪個表更新出錯了,或者數據有問題,你可以用RollBack()方法在取消之前的相關性操作,如果沒有錯,那就使用Commit()方法提交你的修改。另外,在這個過程中,所有你改動的內容只對你自己有效,別人不能知道你改了什麼,也不能對你正在改的表做修改,直到你提交之後,別人才能修改這些表,檢索出你修改過的內容。
5. SQL事務概念是什麼,舉個例子說明什麼樣的東西是事務,與程序又有何區別,
資料庫事務是構成單一邏輯工作單元的操作集合。
舉例:轉賬是生活中常見的操作,比如從A賬戶轉賬100元到B賬號。站在用戶角度而言,這是一個邏輯上的單一操作,然而在資料庫系統中,至少會分成兩個步驟來完成:
1、將A賬戶的金額減少100元
2、將B賬戶的金額增加100元。
與程序的區別:一個程序中包含多個事務。在關系資料庫中,一個事務可以是一條SQL語句,一組SQL語句或整個程序。
(5)sql語句中哪個與事務無關擴展閱讀:
事務必須具備四個屬性,簡稱ACID屬性:
1、原子性(Atomicity):事務是一個完整的操作。事務的各步操作是不可分的(原子的);要麼都執行,要麼都不執行。
2、一致性(Consistency):當事務完成時,數據必須處於一致狀態。
3、隔離性(Isolation):對數據進行修改的所有並發事務是彼此隔離的,這表明事務必須是獨立的,它不應以任何方式依賴於或影響其他事務。
4、永久性(Durability):事務完成後,它對資料庫的修改被永久保持,事務日誌能夠保持事務的永久性。
6. sqlserver中事務的作用是什麼
sql server中事務的作用是如果任何一個語句操作失敗那麼整個操作就被失敗,以後操作就會回滾到操作前狀態,或者是上個節點。為了確保要麼執行,要麼不執行,就可以使用事務。是指訪問並可能更新資料庫中各種數據項的一個程序邏輯執行單元(unit)。
(6)sql語句中哪個與事務無關擴展閱讀:
事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。
一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
7. sql中什麼是事務啊
事務(Transaction),一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種數據項的一個程序執行單元(unit)。
事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。
(7)sql語句中哪個與事務無關擴展閱讀
事務類型
(1)手動事務
手動事務允許顯式處理若干過程,這些過程包括:開始事務、控制事務邊界內的每個連接和資源登記、確定事務結果(提交或中止)以及結束事務。
(2)自動事務
.NET 頁、XML Web services方法或 .NET Framework 類一旦被標記為參與事務,它們將自動在事務范圍內執行。您可以通過在頁、XML Web services 方法或類中設置一個事務屬性值來控制對象的事務行為。
8. SQL事務概念問題
所謂事務是用戶定義的一個資料庫操作序列,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。例如,在關系資料庫中,一個事務可以是一條SQL語句、一組SQL語句或整個程序。
事務和程序是兩個概念。一般地講,一個程序中包含多個事務。
事務的開始與結束可以由用戶顯式控制。如果用戶沒有顯式地定義事務,則由DBMS按預設規定自動劃分事
務。在SQL語言中,定義事務的語句有三條:
BEGIN TRANSACTION
COMMIT
ROLLBACK
9. mysql中什麼語句不會開啟事務
SELECT,INSERT,UPDATE或DELETE都會開啟事務。
如果AUTOCOMMIT設置為1(默認值),每一個SQL語句都被認為是一個完整的事務。
AUTOCOMMIT設置為0時,在隨後的一系列語句的作用就像一個事務,直到一個明確的COMMIT語句結束。
10. 哪些SQL語句不能用在事務中
資料庫事務中除以下語句不可使用外,其它所有 SQL 語句均可使用:
1、ALTER DATABASE:修改資料庫
2、BACKUP LOG :備份日誌
3、CREATE DATABASE :創建資料庫
4、DISK INIT:創建資料庫或事務日誌設備
5、DROP DATABASE:刪除資料庫
6、DUMP TRANSACTION:轉儲事務日誌
7、LOAD DATABASE:裝載資料庫備份復本
8、LOAD TRANSACTION:裝載事務日誌備份復本
9、RECONFIGURE:更新使用 sp_configure 系統存儲過程更改的配置選項的當前配置(sp_configure 結果集中的 config_value 列)值。
10、RESTORE DATABASE:還原使用BACKUP命令所作的資料庫備份
11、RESTORE LOG:還原使用BACKUP命令所作的日誌備份
12、UPDATE STATISTICS:在指定的表或索引視圖中,對一個或多個統計組(集合)有關鍵值分發的信息進行更新