在數(shù)據庫編程中,事務是經常需要用到的技術,在.net平臺上,事務處理是非常好用的,但是在Sql Server數(shù)據庫的存儲過程中如何使用事務來完成數(shù)據的批量操作呢?
解決方案如下: 大概都是這樣處理的:
CREATE PROC RegisterUser
(@usrName varchar(30), @usrPasswd varchar(30),@age int, @PhoneNum varchar(20), @Address varchar(50) )
AS
BEGIN
BEGIN TRAN -- 顯示定義并開始一個事務
SET XACT_ABORT ON -- 表示遇到錯誤立即回滾
INSERT INTO USER(userName,userPasswd) values(@usrName,@usrPasswd)
IF @@error > 0 --發(fā)生錯誤
BEGIN
ROLLBACK TRANSACTION
RETURN 0
END
ELSE
BEGIN
COMMIT TRANSACTION
RETURN 1 --執(zhí)行成功
END
END