SQL Server T—SQL 视图 事务

Posted 酒不醉心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server T—SQL 视图 事务相关的知识,希望对你有一定的参考价值。

 

一 视图

视图是存储在数据库中的查询的SQL 语句,

视图是从一个或多个表或视图中导出的表,是一张虚表,只能对视图进行查询,不能增、删、改。

对视图进行修改要在相应的基本表中进行修改,修改会自动的反应到视图

 

1、创建视图:

create  view  视图名          

as          
 
  SQL查询语句      //视图中不能出现重复列

 

2、视图的用法:

              select * from 视图名

 

二 事务

  保障流程的完整执行,就像银行取钱,先在你账上扣钱,然后存入别人的账上;但是从你账上扣完钱了,突然网断了,对方没有收到钱,那么此时你的钱也没了,别人的钱也没加上,事务为了防止此类情况的出现。

格式

  begin  tran       //在流程开始的位置
      ----------
  if @@error > 0
    begin
        rollback  tran     //回滚事务,到begin tran的位置,就当没发生过
    end
 else
   begin
        commit  tran     //提交事务,都没问题,那么就一把进行提交
   end

 

 实例

begin tran --开启事务
declare @tran_error int; --存储错误
set @tran_error = 0; --默认没有错误

update Fruit set Numbers = Numbers-1 where Ids=\'k002\'
set @tran_error = @tran_error + @@ERROR;
update Login set Account=Account-1 where UserName=\'wangwu\'
set @tran_error = @tran_error + @@ERROR;
insert into Orders values(\'d002\',\'wangwu\',\'2016-8-7\')
set @tran_error = @tran_error + @@ERROR;
insert into OrderDetails values(\'d002\',\'k002\',10)
set @tran_error = @tran_error + @@ERROR;


if @tran_error>0
begin
    rollback tran --回滚事务,到begin tran的位置,就当没发生过
end
else
begin
    commit tran --提交事务,都没问题,那么就一把进行提交
end
View Code

 

以上是关于SQL Server T—SQL 视图 事务的主要内容,如果未能解决你的问题,请参考以下文章

索引视图的 SQL Server 事务复制

T-SQL查询进阶--SQL Server中的事务与锁

SQL Server 事务隔离级别

SQL Server 事务异常和游标

视图模式及T-SQL语句操作管理SQL Server数据库

SQL Server 复制:事务发布(读写分离)