事务视图

本文介绍了数据库事务的三个关键特性——原子性、隔离性和持久性,并详细阐述了事务的三种执行模式:显示事务、自动提交事务和隐式事务。通过实例展示了如何在SQL Server中使用事务处理商品销售。此外,还讲解了视图的概念,视图是一个虚拟表,由查询定义,提供了一种简化数据访问的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事务的特点和分类

原子性:事务中包括的诸多操作要么全做,要么全不做。

隔离性:一个事务执行不能被其他事务干扰。

持久性:一个事物一旦提交,它队数据库中数据的改变应该是永久的

事务有三种执行模式:显示事物,自动提交事务,隐式事务

显示事物:显示事物是以“BEGIN TRANSACTION”语句开始,以“COMMIT TRANSACTION”或“ROLLBACK TRANSACTION”结束

自动提交事物:这是SQL Server默认模式,它将每一条T-sql语句可以看成一个自动提交事物。

隐式事务:通过设“SET  IMPLICIT_TRANSACTIONS ON”置开始,通过“SET IMPLICIT_TRANSACTIONS OFF”结束


例子

use shopdb
declare @salesamout int   --声明变量,存放当天销量
declare @empid varchar(10)  --声明变量,存放雇员编号
declare @goodsid varchar(10)  --声明变量,存放商品编号
declare @errsum int   --声明变量,错误累计


begin transaction--开启事物
select @empid = employeeid from employee where empname='徐如进'--找人


select @goodsid = goodsid from goods where goodsname='佳能IXUS200'--找物品


set @salesamout = 2--数量
set @errsum = 0


update goods set stockes = stockes -@salesamout where goodsid =@goodsid --修改库存


insert into salese (employeeid , goodsid ,sellamount,selldate) values (@empid,@goodsid,@salesamout,getdate())--返回当前时间信息,并且一一赋值
if @errsum > 0


begin
print '商品不足,回滚事物'
rollback transaction
end


else
begin 
print '商品充足,提交事物'
commit transaction

end


视图

create view 视图名

AS

<SELECT 语句>

视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储数据值集形式存在。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值