SQL第9章存储过程和事务.pptVIP

  • 2
  • 0
  • 约7.58千字
  • 约 52页
  • 2019-09-06 发布于广东
  • 举报
* 9.3.4 存储过程的返回值 例7:在northwind数据库创建一个存储过程,返回产品表中的所有产品的库存量。 create proc pr_lier as begin declare @fanhuizhi int select @fanhuizhi=sum(unitsinstock) from products return @fanhuizhi end * 9.3.4 存储过程的返回值 接受这个返回值必须要用变量来接收 declare @jieshouzhi int exec @jieshouzhi=pr_lier print @jieshouzhi * 9.3.4 存储过程的返回值 上例中返回的值也可以用output参数来返回,可以将上例的存储过程改写为: create proc pr_lier_2 @fanhuizhi int output as begin select @fanhuizhi=sum(unitsinstock) from products end * 9.3.4 存储过程的返回值 接收output的返回值也必须要用变量,如: declare @jieshouzhi int exec pr_lier_2 @jieshouzhi output print @jieshouzhi 注意: 1) return返回的是整数,output可以返回任何数据。 2)如果让return返回非整数值,在创建存储过程时不会出错,但是运行存储过程时将会出错。 * 存储过程案例 例9:在PUBS数据库中创建一个带参数的存储过程SelectUser,查询出用户表UserMember中是否存在某用户,如果不存在,则返回值为1,否则则查询该用户的密码是否正确,如不正确,则返回值为2,否则返回值为0。 * 存储过程案例 create proc selectuser @username varchar(20),@pass varchar(20) as if @username not in (select 用户名 from usermember) return(1) else if exists (select * from usermember where 用户名=@username and 密码=@pass) return(0) else return(2) * 存储过程案例 执行存储过程语句如下: Declare @fan int Exec @fan= selectuser ‘aaa’,’aaa’ If @fan=0 Print ‘用户名和密码都正确’ If @fan=1 Print ‘用户名不存在’ If @fan=2 Print ‘用户名存在,密码不正确’ * 9.4 事务的概述 1)事务的概念 事务是最小的工作单元。这个工作单元要么成功完成所有操作,要么就是失败,并将所做的一切复原。 2)事务特性 原子性(Atomic):整个数据库事务是不可分割的工作单位 一致性(ConDemoltent):指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性 独立性(Isolated):在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。 持久性(Durable) :只要事务成功结束,它对数据库所做的更新就必须永久保存下来 * 9.4 事务的概述 3)事务的运行模式 显式事务:显示事务是手工配置的事务。用保留字标识显式事务的开始和结束。 开始显式事务,使用BEGIN TRAN。 结束显示事务,使用COMMIT TRAN。 取消事务,使用ROLL BACK TRAN命令。 隐式事务 :在前一个事务完成时新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK语句显示完成。 * 9.4 事务的概述 自动提交事务 每条单独的SQL语句都是一个事务,这是SQL默认的事务管理模式,每个T-SQL语句完成时,都被(成功)提交或(失败)回滚。 * 第9章 存储过程和事务 9.1 存储过程概述 9.2 创建管理简单存储过程 9.3 创建管理带参的存储过程 9.4 事务 * 9.1 存储过程概述 1.存储过程概念 存储过程是为了实现某个特定任务,由一组预先编译好的SQL语句组成,将其放在服务器上,由用户通过指定存储过程的名字来执行的一种数据库对象。 2.存储过程类型 系统存储过程:以SP_为前缀,是由SQL Server2005自己创建、管理和

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档