数据库基础(数据库事务及存储过程的小练习)
2014-11-13 19:41
302 查看
[b]数据库事务:[/b]
数据库事务(Database Transaction) 是指作为单个逻辑工作单元执行的一系列操作。
事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。
设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:
更新客户所购商品的库存信息
保存客户付款信息--可能包括与银行系统的交互
生成订单并且保存到数据库中 · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态--库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。
数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。
begin tran (或transaction) --开始事务
commit --提交事务
rollback --回滚事务
事务特性:
A原子性(atomicity)
C一致性(consistency)
I隔离性(isolation)
D持久性(durability)
@@ERROR 是判断事务有没有错的条件,无错时值为0,有错时值不为0。
事务创建以及使用示例:
练习:创建三个表并写一个简单的存储过程,要求可以进货、出货并打印小票。
在没有此货物并且为进货时,添加上这一行信息;
在没有此货物并且为出货时,打印没有此货物!
下面开始执行语句:
语句一:进货,编号为1001的货物新增10个
语句二:编号为1001的货物出货5台
在每次为出货并且数量够的情况下,会打印小票
语句三:新进货编号为1021
语句四:出货,编号为1022的货物出货,但是仓库中没有此编号的货物
数据库事务(Database Transaction) 是指作为单个逻辑工作单元执行的一系列操作。
事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。
设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:
更新客户所购商品的库存信息
保存客户付款信息--可能包括与银行系统的交互
生成订单并且保存到数据库中 · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态--库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。
数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。
begin tran (或transaction) --开始事务
commit --提交事务
rollback --回滚事务
事务特性:
A原子性(atomicity)
C一致性(consistency)
I隔离性(isolation)
D持久性(durability)
@@ERROR 是判断事务有没有错的条件,无错时值为0,有错时值不为0。
事务创建以及使用示例:
练习:创建三个表并写一个简单的存储过程,要求可以进货、出货并打印小票。
在没有此货物并且为进货时,添加上这一行信息;
在没有此货物并且为出货时,打印没有此货物!
下面开始执行语句:
语句一:进货,编号为1001的货物新增10个
语句二:编号为1001的货物出货5台
在每次为出货并且数量够的情况下,会打印小票
语句三:新进货编号为1021
语句四:出货,编号为1022的货物出货,但是仓库中没有此编号的货物
相关文章推荐
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- Hibernate HQL基础 调用数据库存储过程
- 数据库里的存储过程和事务有什么区别?
- mysql基础三(视图、触发器、函数、存储过程、事务、防注入)
- 数据库基础知识点二:PLSQL、游标、程序包、存储过程、触发器,序列,视图,索引,数据字典
- SQL使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- Java基础系列12:使用CallableStatement接口调用数据库中的存储过程
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
- 数据库存储过程基础
- Oracle基础 存储过程和事务
- 数据应用达人之SQL基础教程分享13-存储过程与事务
- MSSQLServer基础07(事务,存储过程,分页的存储过程,触发器)
- 数据库系统基础教程--习题9.4.2(!c)的存储过程解答
- 数据库学习第五天之存储过程和事务
- MSSQLServer基础07(事务,存储过程,分页的存储过程,触发器)
- 数据库事务和存储过程已经函数的概念以及使用方法
- Hibernate HQL基础 调用数据库存储过程
- 通过数据库事务删除记录的存储过程
- MSSQL数据库嵌套存储过程的事务控制
- Maven构建SpringMVC项目实现注解、数据库事务管理及存储过程操作