sql語句事務
⑴ 在sql中怎樣使用事務
SQL Server 需要顯示的定義 開始一個事務.
BEGIN TRANSACTION;
例如:
1> BEGIN TRY
2> -- SQL Server 需要顯示的定義 開始一個事務.
3> BEGIN TRANSACTION;
4> -- 插入2條同樣的數據,使主鍵重復,引發錯誤後回滾事務.
5> INSERT INTO test_main(id, value) VALUES (4, 'FOUR');
6> INSERT INTO test_main(id, value) VALUES (4, 'FOUR');
7> -- 執行成功後,需要提交事務.
8> COMMIT;
9> END TRY
10> BEGIN CATCH
11> PRINT('Main.錯誤代碼 = ' + STR(ERROR_NUMBER()));
12> PRINT('Main.錯誤嚴重級別 = ' + STR(ERROR_SEVERITY()));
13> PRINT('Main.錯誤狀態代碼 = ' + STR(ERROR_STATE()));
14> PRINT('Main.錯誤信息 = ' + ERROR_MESSAGE());
15> -- 回滾事務
16> ROLLBACK;
17> END CATCH
18>
19> go
⑵ sqlserver中事務的作用是什麼
sql server中事務的作用是如果任何一個語句操作失敗那麼整個操作就被失敗,以後操作就會回滾到操作前狀態,或者是上個節點。為了確保要麼執行,要麼不執行,就可以使用事務。是指訪問並可能更新資料庫中各種數據項的一個程序邏輯執行單元(unit)。
(2)sql語句事務擴展閱讀:
事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。
一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
⑶ sql中什麼是事務啊
事務(Transaction),一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種數據項的一個程序執行單元(unit)。
事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。
(3)sql語句事務擴展閱讀
事務類型
(1)手動事務
手動事務允許顯式處理若干過程,這些過程包括:開始事務、控制事務邊界內的每個連接和資源登記、確定事務結果(提交或中止)以及結束事務。
(2)自動事務
.NET 頁、XML Web services方法或 .NET Framework 類一旦被標記為參與事務,它們將自動在事務范圍內執行。您可以通過在頁、XML Web services 方法或類中設置一個事務屬性值來控制對象的事務行為。
⑷ 誰能詳細介紹下sql中的「事務 」 ,不要百度答案,寫下自己的心得,不勝感激
sql事務就是你在執行update或者insert語句時,信息是否提交的控制,資料庫默認是直接提交,如果你一次執行2條sql,第一條成功了,第二條失敗了,你肯定想著兩條要麼都成功,要麼都失敗,這時候你就要用事務來控制,在兩條都成功後,提交事務,否則進行事務回滾
⑸ SQL中事務有幾種
有三種。第一種是顯式聲名的事務,這種事務要以begin
transaction為事務的起始標志。第二種是自動提交事務,這是sql
server的預設設置。每一個t-sql語句在執行完成後會被自動提交。第三種是隱含事務,在這種方式下,sql
server會在當前事務被提交或回滾後自動啟動一個新的事務,這個新事務直到用戶執行commit或rollback為止,這時系統又會啟動一個新事務。這樣就形成了一個連續的事務鏈。
⑹ 事務在SQL中有什麼作用
事務的好處在於,當你需要對多個表進行相關性操作時,使用BeginTrans()開啟事務,然後操作,如果中間哪個表更新出錯了,或者數據有問題,你可以用RollBack()方法在取消之前的相關性操作,如果沒有錯,那就使用Commit()方法提交你的修改。另外,在這個過程中,所有你改動的內容只對你自己有效,別人不能知道你改了什麼,也不能對你正在改的表做修改,直到你提交之後,別人才能修改這些表,檢索出你修改過的內容。
⑺ SQL事務概念是什麼,舉個例子說明什麼樣的東西是事務,與程序又有何區別,
資料庫事務是構成單一邏輯工作單元的操作集合。
舉例:轉賬是生活中常見的操作,比如從A賬戶轉賬100元到B賬號。站在用戶角度而言,這是一個邏輯上的單一操作,然而在資料庫系統中,至少會分成兩個步驟來完成:
1、將A賬戶的金額減少100元
2、將B賬戶的金額增加100元。
與程序的區別:一個程序中包含多個事務。在關系資料庫中,一個事務可以是一條SQL語句,一組SQL語句或整個程序。
(7)sql語句事務擴展閱讀:
事務必須具備四個屬性,簡稱ACID屬性:
1、原子性(Atomicity):事務是一個完整的操作。事務的各步操作是不可分的(原子的);要麼都執行,要麼都不執行。
2、一致性(Consistency):當事務完成時,數據必須處於一致狀態。
3、隔離性(Isolation):對數據進行修改的所有並發事務是彼此隔離的,這表明事務必須是獨立的,它不應以任何方式依賴於或影響其他事務。
4、永久性(Durability):事務完成後,它對資料庫的修改被永久保持,事務日誌能夠保持事務的永久性。
⑻ 請詳細解釋一下SQL中事務的定義以及實例。
事務是一種機制,是一個操作序列。事務包含了一組資料庫操作命令,所有的命令作為一個整體一起向系統提交或撤銷,這些命令要麼都執行要麼都不執行,因此事務是一個不可分割的邏輯工作單元。一個事務可能包括一條Transact-SQL語句,也可能包括多條Transact-SQL語句。
實例:設計一個簡單的事務。
USE 學生成績管理
GO
BEGIN TRAN -----開始一個事務
UPDATE 課程表 SET 學分=學分+1
DELETE FROM 成績表 WHERE 成績<60
COMMIT TRAN ------結束一個事務
GO
⑼ 哪些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:在指定的表或索引視圖中,對一個或多個統計組(集合)有關鍵值分發的信息進行更新
⑽ sql 中 事務是用來幹嘛的 到底應該怎麼寫語句
SQL事務主要應用於保證多個表
數據更新
的一致性。如很多場合,要求一個表中更新或插入一條數據,另一個表也要更新或插入數據。要麼都做,要麼都不做,不能出現不一致的情況。例如從ATM中取錢需要以下幾個步驟:輸入一個PIN號碼,選擇一個帳戶類型和輸入你想要提取的資金的金額。如果你試圖從ATM中取出50元,然後操作失敗,你肯定不願意在沒有拿到錢的情況下被扣除50元。事務就可以被用來保證這種一致性。