Sql中创建事务处理

Create Procedure  MyProcedure
    AS
       Begin
           Set    NOCOUNT    ON;
           Set XACT_ABORT ON; --这句话非常重要
           begin try
               Begin  Tran   --开始事务

               insert into userinfo(username,userpwd,RegisterTime) values(‘admin‘,‘admin‘,getdate())
               insert into userinfo(username,userpwd,RegisterTime) values(‘jack‘,‘jack‘,getdate())

               Commit Tran       --提交事务
            end try
            begin catch
                --在此可以使用xact_state()来判断是否有不可提交的事务,不可提交的事务

                --表示在事务内部发生错误了。Xact_state()有三种值:-1.事务不可提交;

                 --1.事务可提交;0.表示没有事务,此时commit或者rollback会报错。

                 if xact_state()=-1
                     rollback tran;
            end catch
      Set XACT_ABORT OFF;
End

  

时间: 2024-09-29 03:19:14

Sql中创建事务处理的相关文章

PL/Sql 中创建、调试、调用存储过程

存储过程  所用函数说明  功能:求和与差  原形:GetSumAndSub(p1 in number , p2 in number ,m out number , b out number)   参数:m=p1+p2 b=p1-p2  1.先建存储过程 左边的浏览窗口选择 procedures ,会列出所有的存储过程,右击文件夹procedures单击菜单"new",弹出  template wizard窗口, name框中输入 GetSumAndSub ,parameters中填入

SQL中创建外键约束

alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名)

SQL点滴9—SQL Server中的事务处理以及SSIS中的内建事务

原文:SQL点滴9-SQL Server中的事务处理以及SSIS中的内建事务 我们可以把SSIS中的整个package包含在一个事务中,但是如果在package的执行过程中有一个表需要锁定应该怎么处理呢?SSIS内建的事务处理可以解决这个问题.在此之前首先来熟悉一下SQL Server中的事务的概念. 事务 SQL Server中的事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中永久的组成部分.如果事务遇到错误且必须取消或回滚,则所有的数据修改均被清除

在SQL Server中创建用户角色及授权

参考文献 http://database.51cto.com/art/201009/224075.htm 正文 要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许连接 SQL Server 服务器的权利: 获得访问特定数据库中数据的权利(select, update, delete, create table ...). 假设,我们准备建立一个 dba 数据库帐户,用来管理数据库 mydb. 1. 首先在 SQL Server 服务器级别,创建登陆帐户(cr

ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接

原文:ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接 安装ArcSDE for SQL Server,最后一步成功后的界面如下: 在ArcMap中创建ArcSDE连接,截图如下:

在sql server中创建一个只读login

在SQL Server中创建一个Login,并为这个login授予只读的权限 --create Login Name create login [domain\login] from windows; --create --UserName Create User DWReadOnly for login [domain\login] --Grant readonly ALTER ROLE [db_datareader] add MEMBER DWReadOnly Appendix 服务器角色参

SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)

原文:SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二:调用模板存储过程创建存储过程: 总结 扩展阅读 参考文献(References) 二.背景(Contexts) 在我的数据库服务器上,同一个实例

sas中的sql(6)创建表格、展现表格、插入行、删除行、规定限制条件(constriants)、处理输入错误(undo策略)、update表格、更改列

1:三种建表方式 建表只会在库中建立好表格并在日志中显示,并不会有输出. 1.1:自己定义列来建立一张空表 column-specification = column-define + column-constriants + MESSAGE=/MSGTYPE SAS中数据的存储方式只有两种,一种char(n)一种num.sas也支持sql原生的数据类型,但是最终都会统一转化为这两种 proc sql; create table work.departments (Dept varchar(20

Sql语句在SqlServer中创建数据库、表格并添加约束

通过Sql语句来创建数据库与架构 创建数据库 数据库的创建首先是要引用主数据库的,需要在master数据库的环境下进行创建.大致的语法如下: 1 -- 使用master数据库 2 use master 3 -- 创建数据库 4 create datebase [架构名.]数据库名 5 on [primary]--主文件数据描述 6 ( 7 name = '数据库逻辑名', --一般是数据库的名称 8 filename = '数据文件的名字',--全路径 9 size = 12mb, --数据文件