zoukankan      html  css  js  c++  java
  • SQL SERVER中视图、事务

    1、SQL server 视图

    在SQL中视图是可以让用户在结果集里面看到自己查看结果的可视化的图形,视图创建的格式:

    create view 名称

    as

    查询语句

    注意:1、在视图中只能进行多表连接的查看,不能对其内容进行增、删、改。

            2、在视图的创建过程中如果对多表进行连接不能出现重复列

    上图就是违反了视图规定出现了重复列,而正确的是

     2、事务

    在SQL中事务是为了防止在数据录入过程中出现错误为了保证流程的完整执行,它的创建格式是:

    begin tran --开始事务监控
    被监控的代码
    ...
    ...
    if @@ERROR > 0 -- 记录上面代码的出错次数,默认值是0
    begin
    rollback tran; --如果有错,执行这一句,回滚事务,返回到begin tran的位置,当做什么事都没发生
    end
    else
    begin
    commit tran; --没错,一把将所有代码的执行结果提交
    end

    我们先来看看sql存储过程是如何来完成事务的操作的:

    首先创建一个表:

    create database aaaa --创建一个表,包含用户的帐号和钱数

    go

    use aaaa

    create table bb

    (

     ID int not null primary key,  --帐号

     moneys money    --转账金额



    insert into bb values ('1','2000') --插入两条数据

    insert into bb values ('2','3000')

    用这个表创建一个存储过程:

    create procedure mon --创建存储过程,定义几个变量

    @toID int,    --接收转账的账户

    @fromID int ,  --转出自己的账户

    @momeys money --转账的金额

    as

    begin tran --开始执行事务

     

    update bb set moneys=moneys-@momeys where ID=@fromID -执行的第一个操作,转账出钱,减去转出的金额

    update bb set moneys=moneys+@momeys where ID=@toID --执行第二个操作,接受转账的金额,增加

     

    if @@error<>0 --判断如果两条语句有任何一条出现错误

    begin rollback tran –开始执行事务的回滚,恢复的转账开始之前状态

    return 0

    end

    go

     

    else   --如何两条都执行成功

    begin commit tran 执行这个事务的操作

    return 1

    end

  • 相关阅读:
    PHP数组的升序降序函数
    overflow样式修改插件——jscrollpane
    li标签之间的空隙问题(转)
    纯CSS制作三角(转)
    图片放大插件——elevatezoom
    git常用命令笔记
    求数组子序列和最大值
    Vim快速入门
    C++求两个整数的最大公约数和最小公倍数
    实验楼-4-Linux文件权限
  • 原文地址:https://www.cnblogs.com/zhulijun/p/6566281.html
Copyright © 2011-2022 走看看