當前位置:首頁 » 編程語言 » sql事務實例

sql事務實例

發布時間: 2022-08-11 09:29:39

A. 請詳細解釋一下sql中事務的定義以及實例。

事務是一種機制,是一個操作序列。事務包含了一組資料庫操作命令,所有的命令作為一個整體一起向系統提交或撤銷,這些命令要麼都執行要麼都不執行,因此事務是一個不可分割的邏輯工作單元。一個事務可能包括一條Transact-SQL語句,也可能包括多條Transact-SQL語句。
實例:設計一個簡單的事務。
USE 學生成績管理
GO
BEGIN TRAN -----開始一個事務
UPDATE 課程表 SET 學分=學分+1
DELETE FROM 成績表 WHERE 成績<60
COMMIT TRAN ------結束一個事務
GO

B. sql「事務」

create proc mypro1
@sid int
as
begin transaction
declare @q
select @q=count(*) from借書記錄表where sid=@sid
delete from 借書記錄表 where sid=@sid
delete from 學生表 where sid=@sid
if @q<>0
begin
rollback tran
end
commit tran
go

C. SQL事務概念是什麼,舉個例子說明什麼樣的東西是事務,與程序又有何區別,

資料庫事務是構成單一邏輯工作單元的操作集合。

舉例:轉賬是生活中常見的操作,比如從A賬戶轉賬100元到B賬號。站在用戶角度而言,這是一個邏輯上的單一操作,然而在資料庫系統中,至少會分成兩個步驟來完成:

1、將A賬戶的金額減少100元

2、將B賬戶的金額增加100元。

與程序的區別:一個程序中包含多個事務。在關系資料庫中,一個事務可以是一條SQL語句,一組SQL語句或整個程序。

(3)sql事務實例擴展閱讀:

事務必須具備四個屬性,簡稱ACID屬性:

1、原子性(Atomicity):事務是一個完整的操作。事務的各步操作是不可分的(原子的);要麼都執行,要麼都不執行。

2、一致性(Consistency):當事務完成時,數據必須處於一致狀態。

3、隔離性(Isolation):對數據進行修改的所有並發事務是彼此隔離的,這表明事務必須是獨立的,它不應以任何方式依賴於或影響其他事務。

4、永久性(Durability):事務完成後,它對資料庫的修改被永久保持,事務日誌能夠保持事務的永久性。

D. sql事務!!

A. 命名事務

以下示例顯示如何命名事務。
復制

DECLARE @TranName VARCHAR(20);
SELECT @TranName = 'MyTransaction';

BEGIN TRANSACTION @TranName;
USE AdventureWorks;
DELETE FROM AdventureWorks.HumanResources.JobCandidate
WHERE JobCandidateID = 13;

COMMIT TRANSACTION @TranName;
GO

B. 標記事務

以下示例顯示如何標記事務。將標記事務 CandidateDelete。
復制

BEGIN TRANSACTION CandidateDelete
WITH MARK N'Deleting a Job Candidate';
GO
USE AdventureWorks;
GO
DELETE FROM AdventureWorks.HumanResources.JobCandidate
WHERE JobCandidateID = 13;
GO
COMMIT TRANSACTION CandidateDelete;
GO

參照MSDN

E. SQL 事務的編寫能不能提供一個實例 最好給出一個規范的實例!不要一個sql語句一個提交的那種!要先定義後在

SAVE TRANSACTION 保存點名稱 --自定義保存點的名稱和位置
ROLLBACK TRANSACTION 保存點名稱 --回滾到自定義的保存點
BEGIN TRANSACTION--開始事務
DECLARE @errorSun INT --定義錯誤計數器
SET @errorSun=0 --沒錯為0
UPDATE a SET id=232 WHERE a=1 --事務操作SQL語句
SET @errorSun=@errorSun+@@ERROR --累計是否有錯
UPDATE aa SET id=2 WHERE a=1 --事務操作SQL語句
SET @errorSun=@errorSun+@@ERROR --累計是否有錯
IF @errorSun<>0
BEGIN
PRINT '有錯誤,回滾'
ROLLBACK TRANSACTION--事務回滾語句
END
ELSE
BEGIN
PRINT '成功,提交'
COMMIT TRANSACTION--事務提交語句
END

sql事務處理
BEGIN TRANSACTION--開始事務
DECLARE @errorSun INT --定義錯誤計數器
SET @errorSun=0 --沒錯為0
UPDATE a SET id=232 WHERE a=1 --事務操作SQL語句
SET @errorSun=@errorSun+@@ERROR --累計是否有錯
UPDATE aa SET id=2 WHERE a=1 --事務操作SQL語句
SET @errorSun=@errorSun+@@ERROR --累計是否有錯
IF @errorSun<>0
BEGIN
PRINT '有錯誤,回滾'
ROLLBACK TRANSACTION--事務回滾語句
END
ELSE
BEGIN
PRINT '成功,提交'
COMMIT TRANSACTION--事務提交語句
END

F. 誰能詳細介紹下sql中的「事務 」 ,不要百度答案,寫下自己的心得,不勝感激

sql事務就是你在執行update或者insert語句時,信息是否提交的控制,資料庫默認是直接提交,如果你一次執行2條sql,第一條成功了,第二條失敗了,你肯定想著兩條要麼都成功,要麼都失敗,這時候你就要用事務來控制,在兩條都成功後,提交事務,否則進行事務回滾

G. sql如何寫事務

begin transaction
declare @k int
set @k=0
insert into a values('1','str')
if @@error<>0
set @k=@k+1
insert into b values('2','str')
if @@error<>0
set @k=@k+1
update a set name='stu' where id='1'
if @@error<>0
set @k=@k+1

if @K<>0
begin

rollback transaction
return
end
commit transaction

H. 兩條sql語句事務

你好,SqlServer中可以這樣處理:--這里只寫關鍵代碼了。。 ...begin transaction --SqlServer默認是自動提交,所以需要開始顯示事務declare @errorSum intset @errorSum = 0insert into tab_name values(...) --DML操作set @errorSum = @errorSum + @@error --如果操作發生異常,@@error就會有值insert into tab_name2 values(...)set @errorSum = @errorSum + @@error if @errorSum <> 0 --判斷是否發生異常 begin rollback transaction --回滾 endelse begin comit transaction --提交 endgo... oracle簡單很多中:begen --DML insert into tab_name values(...) insert into tab_name2 values(...) --沒發生異常則提交 comit;exception --發生異常則回滾 WHEN OTHERS THEN
ROLLBACK;end;

I. SQL 事務的編寫能不能提供一個實例 不要經常一個sql語句一個提交的那種!

tableA(userID,name) talbeB(id,userID_A,userID_B,proctID,money)
是這樣一個結構吧?(這里簡化下,不多加個proct表了)
SELECT tableA.name,tableB.proctID,SUM(tableB.money) FROM tableA,tableB WHERE tableA.userID=tableB.userID_A GROUP BY tableB.userID_A
----------------------
在最後面加句「 ORDER BY sum DESC」
最好給SUM(tableB.money)加個別名,如
SUM(tableB.money) AS sum
上面那個ORDER BY sum裡面的sum就用這個別名
--------------------------------
給你個網址吧,你學下裡面的ORDER用法

順便說下,最好別用sum這個別名,別與一些關鍵字重復了,不能學我上面隨便舉的那個別名例子。
------------------------------------
ORDER BY ss DESC

J. sql事務的 詳細介紹

(1):事務(Transaction)是並發控制的單位,是用戶定義的一個操作序列。這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。通過事務,SQL Server能將邏輯相關的一組操作綁定在一起,以便伺服器保持數據的完整性。
(2):事務通常是以BEGIN TRANSACTION開始,以COMMIT或ROLLBACK結束。
COMMIT表示提交,即提交事務的所有操作。具體地說就是將事務中所有對資料庫的更新寫回到磁碟上的物理資料庫中去,事務正常結束。
ROLLBACK表示回滾,即在事務運行的過程中發生了某種故障,事務不能繼續進行,系統將事務中對資料庫的所有以完成的操作全部撤消,滾回到事務開始的狀態。
(3):事務運行的三種模式:
A:自動提交事務
每條單獨的語句都是一個事務。每個語句後都隱含一個COMMIT。
B:顯式事務
以BEGIN TRANSACTION顯式開始,以COMMIT或ROLLBACK顯式結束。
C:隱性事務
在前一個事務完成時,新事務隱式啟動,但每個事務仍以COMMIT或ROLLBACK顯式結束。
(4):事務的特性(ACID特性)
A:原子性(Atomicity)
事務是資料庫的邏輯工作單位,事務中包括的諸操作要麼全做,要麼全不做。
B:一致性(Consistency)
事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
C:隔離性(Isolation)
一個事務的執行不能被其他事務干擾。
D:持續性/永久性(Durability)
一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。
注:事務是恢復和並發控制的基本單位。
((1)是回答事務的概念到底是什麼——即你的提問,至於(2)、(3)、(4)只是作的稍許補充而已,不必深究,呵呵……)

熱點內容
微信視頻如何重新緩存 發布:2025-01-21 04:44:41 瀏覽:879
pdf壓縮文件大小 發布:2025-01-21 04:40:24 瀏覽:798
linux解壓文件到指定 發布:2025-01-21 04:38:36 瀏覽:874
自己做的安卓app怎麼下載 發布:2025-01-21 04:35:07 瀏覽:163
機頂盒加密頻道 發布:2025-01-21 04:26:48 瀏覽:318
騰訊應用加密 發布:2025-01-21 04:24:38 瀏覽:988
無法訪問f 發布:2025-01-21 04:24:36 瀏覽:539
sql實時 發布:2025-01-21 04:24:27 瀏覽:998
怎麼在linux伺服器上配ip地址 發布:2025-01-21 04:22:10 瀏覽:251
咖搭姆編程 發布:2025-01-21 04:19:45 瀏覽:674