这篇文章主要为大家详细介绍了SQL Server 事务说明,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
1.什么是事务:事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。他包含的所有数据库操作命令作为一个整体一起向系提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。代码如下:
Create proc RegisterUser
(@usrName varchar(30), @usrPasswd varchar(30),@age int,@sex varchar(10), @PhoneNum varchar(20), @Address varchar(50) )
as begin
begin tran
insert into userinfo(userName,userPasswd) values(@usrName,@usrPasswd)
if @@error<>0
begin
rollback tran
return -1
end
insert into userdoc(userName,age,sex,PhoneNumber,Address)values(@Usrname,@age,@sex,@PhoneNum,@Address)
if @@error<>0
begin
rollback tran
return -1
end
commit tran
return 0
end
代码如下:
use bookdb
go
begin tran mytran
insert into book
values(9,"windows2000',1,22,'出版社')
save tran mysave
delete book where book_id=9
rollback tran mysave
commit tran
go
select * from book
go
代码如下:
use test
go
create table testback(cola int primary key ,colb char(3))
go
insert into testback values(1,'aaa')
insert into testback values(2,'bbb')
insert into testback value(3,'ccc')
go
select * from testback
go
代码如下:
use test
go
set nocount on
create table t1(a int)
go
insert into t1 values(1)
go
print '使用显式事务'
begin tran
insert into t1 values(2)
print '事务外的事务数目:'+cast(@@trancount as char(5))
commint tran
print '事务外的事务数目:'+cast(@@trancount as char(5))
go
print
go
set implicit_transactions on
go
print '使用隐式事务'
go
insert into t1 values*4)
print'事务内的事务数目:'+cast(@@trancount as char(5))
commint tran
print'事务外的事务数目:'+cast(@@trancount as char(5))
go
代码如下:
begin tran
declare @rownum1 int --未添加订单的空房数
declare @rownum2 int --添加订单的空房数目
declare @BookID1 int
set @BookID1=0
insert into T_BookRoomInfo(RoomID,CustomerName,CustomerCardID,Discount,
EnterTime,DepositMoney,Memo,UserID,UpdTime)
values (@RoomID,@CustomerName,@CustomerCardID,@Discount,
getdate(),@DepositMoney,@Memo,@UserID,getdate())
select @BookID1=@@IDENTITY
if(@BookID1<>0)
begin
select @rownum1=count(1)
from T_Room
where IsEmploy=0
update T_Room
set IsEmploy=1
where RoomID=@RoomID
select @rownum1=count(1)
from T_Room
where IsEmploy=0
if(@rownum1<=@rownum2)
begin
rollback tran
end
else
begin
commit tran
end
end
else
begin
rollback tran
end
本文来自:http://www.q1010.com/179/7409-0.html
注:关于SQL Server 事务说明的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:SQL SERVER
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。