事务可分为:数据库事务、ADO.NET事务、企业级COM+事务。其中数据库事务是其他事务模型的基础。
数据库事务:对于每一个数据库事务的建立,不同的数据库都有不同的规则,但针对sql server,采取自动提交方式来实现的。
优点:独立于应用程序,所有的事务逻辑包含在一个单独的调用中,性能比较好。
sql语句:
declare @tranname varchar(20);
select @tranname='transactionname';
begin transaction @tranname;
go
use DatabaseName;
go
delete from DatabaseName.DataTableName where 条件;
go
commit transaction transactionname;
go
存储过程:
create proc procName
as
begin tran
insert into tb_student(ID,name)values('1','virgree');
if(@@error<>0)
rollback tran
else
insert into tb_student(ID,name)values('2',Jacboson);
create proc procName
if(@@error<>0)
rollback tran
esle
commit tran
end
go
//等同于下面
create proc procName
as
begin tran
set xact_abort on
insert into tb_student(ID,name)values('1','virgree');
insert into tb_student(ID,name)values('2',Jacboson);
commit tran;
go