事务
指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
CREATE PROCEDURE [dbo].[P_user_enroll]
@UserName varchar(32),
@MobileNumber varchar(11),
@Password varchar(50),
@userid int output
AS
BEGIN
declare @error int
set @error=0;
begin transaction
--1.添加登录表信息
insert dbo.TBLogins(UserName,MobileNumber,Password)values(@UserName,@MobileNumber,@Password)
--2.获取生成的自增id
set @userid=@@IDENTITY
set @error=@@ERROR;
--3
insert dbo.TBUsers(Id,NickName,Avatar,sex,Birthday,Address,Hobby,CreationTime)
values
(
@userid,'','',0,GETDATE(),'','',GETDATE()
);
set @error=@@ERROR;
if @error<>0
begin
ROLLBACK TRANSACTION;
PRINT'回滚事务'
END
ELSE
BEGIN
COMMIT TRANSACTION
PRINT'提交事务'
END
END
GO

浙公网安备 33010602011771号