事务视图

事务的特点和分类

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

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

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

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

显示事物:显示事物是以“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 语句>

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


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭