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

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

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

Sql代码

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

事物三步曲: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-06-12 10:49:12

2010-08-16 15:06:15

DB2数据类型转换

2010-08-17 11:03:01

DB2恢复误删除表
点赞
收藏

51CTO技术栈公众号