实现SQL Server创建事务要用到的代码

数据库 SQL Server
我们今天主要向大家描述的是实现SQL Server创建事务所要用到的Sql代码,以下就是SQL Server创建事务的实际应用代码的描述。

以下的文章主要向大家介绍的是实现SQL Server创建事务所要用到的Sql代码,我也是SQL Server学习方面的新手,前两天在无意间在一网站看见关于实现SQL Server创建事务所要用到的Sql代码,觉得挺好拿出来和大家一起分享。

Sql代码

--借书的事务   
begin transaction   
declare @error int   
set @error = 0   
insert into borrows(rid,bid,borrowdate) values   
(5,10,2008-6-11)   
set @error = @error + @@error   
update books set bstate=1   
where bid=10   
set @error = @error + @@error   
if @error <> 0   
rollback transaction   
else   
commit transaction   
--借书的事务  
begin transaction  
declare @error int  
set @error = 0 
insert into borrows(rid,bid,borrowdate) values  
(5,10,2008-6-11)  
set @error = @error + @@error  
update books set bstate=1 
where bid=10 
set @error = @error + @@error  
if @error <> 0  
rollback transaction  
else  
commit transaction  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

事物三步曲:begin transaction,rollback transaction,commit transaction。在这里我们还看到了@error和@@error两个变量,前者是我们定义的局部变量,后者是sql server定义好的int型全局变量。定义变量的方式为:declare @error int 。

而设置局部变量的方式为set @error = 0,还有一种方式为 select @error = 字段名称 from 表。顺便说一下,在sql server 种输出方式也有两种,一种是print,另一种是select 语句。前者打印的是文本,后者打印的是表格。

关于事务,就的提到事务的隔离级别了,分别为:读未提交,读已提交,可重复读和序列化。sql server默认的隔离级别为读已提交。不同的隔离级别产生的问题有:丢失修改(写写冲突),胀读,不可重复读和幻读。读未提交隔离级别会产生所有问题,而序列化不会产生任何问题。另外,幻读和不可重复读的概念也是不一样的哦,一个是对象的集合,一个是对象的状态。
 

责任编辑:佚名 来源: 中信出版社
相关推荐

2010-07-06 16:45:39

SQL Server创

2010-07-13 14:02:05

SQL Server创

2010-07-13 10:28:41

SQL Server

2010-07-06 16:52:17

SQL Server创

2010-04-27 09:38:57

Oracle修改表ow

2010-06-17 16:30:23

SQL Server数

2010-07-06 17:09:45

SQL Server索

2010-07-01 14:46:10

SQL Server临

2010-11-12 10:31:25

SQL Server游

2010-08-12 10:08:05

DB2日常备份脚本

2010-09-27 10:59:23

SQL SERVER事

2010-04-30 13:44:36

Oracle Redo

2010-07-06 17:16:43

SQL Server视

2010-09-07 16:23:05

SQL语句查询

2010-08-18 14:44:24

JDBC连接DB2实例

2010-07-01 14:36:34

SQL Server动

2011-09-08 16:30:59

SQL Server查询

2010-08-16 15:06:15

DB2数据类型转换

2010-08-17 11:03:01

DB2恢复误删除表

2010-06-12 10:49:12

点赞
收藏

51CTO技术栈公众号