精华内容
下载资源
问答
  • 存储过程事务处理

    2012-06-17 22:53:34
    1:写带多输入参数的存储过程(用事物处理 ) ALTER proc [dbo].[test_trans] (@Id varchar(50), @Name Nvarchar(50)) as begin tran delete from classMgr where id='0002' insert into classMgr(id,Name) ...

    1:写带多输入参数的存储过程(用事物处理 )

    ALTER proc [dbo].[test_trans]
    (@Id varchar(50),
    @Name Nvarchar(50))
    as
    begin tran
    delete from classMgr where id='0002'
    insert into classMgr(id,Name) values(@Id,@Name)
    declare @regionerror int
    select @regiοnerrοr=@@ERROR;
    if(@regiοnerrοr=0)
      commit tran
      else
      rollback tran

     

     

     2:asp.net 执行存储带多输入参数的存储过程

     string connectString = "server=.;database=test;uid=sa;pwd=2009@ABCDEF";
                SqlConnection conn = new SqlConnection(connectString);
                SqlCommand cmd = new SqlCommand();
                try
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "test_trans";
                    cmd.Connection = conn;
                    SqlParameter[] pars = new SqlParameter[]{
                new SqlParameter ("@Id",SqlDbType.VarChar,50),
                new SqlParameter("@Name",SqlDbType.NVarChar,50)
                };
                    pars[0].Value = "0009";
                    pars[1].Value = "wangyonghua";
                    foreach (SqlParameter par in pars)
                    {
                        cmd.Parameters.Add(par);
                    }
                    //cmd.Transaction = conn.BeginTransaction();
                    cmd.ExecuteNonQuery();
                    //cmd.Transaction.Commit();
                }
                catch (Exception err)
                {
                    //cmd.Transaction.Rollback();

                    throw new Exception(err.Message + err.StackTrace);
                }
                finally
                {
                    MessageBox.Show("成功");
                    conn.Dispose();
                }

    展开全文
  • 存储过程事务处理

    千次阅读 2006-09-01 00:10:00
    declare @Error intbegin transet @Error=0select @DeptName=DeptName from B_Dept where DeptNo=@DeptNoset @Error=@Error+@@Errorif @Errorbegin rollbackend elsebegin commitendGO 

    declare @Error int
    begin tran
    set @Error=0

    select @DeptName=DeptName from  B_Dept where DeptNo=@DeptNo

    set @Error=@Error+@@Error
    if @Error<>0
    begin
     rollback
    end
    else
    begin
     commit
    end

    GO

     
    展开全文
  • Sql Server存储过程事务处理 https://www.cnblogs.com/rachael/p/10095248.html -- ============================================= -- Author:<rachael> -- Create date: <2019-1-4> -- Description: &...

    Sql Server存储过程事务处理  https://www.cnblogs.com/rachael/p/10095248.html
    -- =============================================
    -- Author:<rachael>
    -- Create date: <2019-1-4>
    -- Description: <存储过程说明>
    -- =============================================
    ALTER PROCEDURE [dbo].[pSalaryPay_Upd_ConfirmSalaryPay]
            @CID NVARCHAR(100) = N''     --入参
    AS

    BEGIN
        SET NOCOUNT ON;
        
        SET XACT_ABORT ON; --开启产生运行时错误,整个事务将终止并回滚

        --在TRY_CATCH块之前,可以来定义变量。或者进行一些数据判断    
        --TRY_CATCH块。说明:TRY/CATCH都是成对出现的,有BEGIN就一定要有END。就像JAVA中的花括号
        BEGIN TRY
        --对可能出现异常的处理,或者判断。放在TRY_CATCH块中。
        --对临时表的操作也可以在这里进行。在上面或者这里定义都可以。
        --添加事务保证下面的行级锁保持到事务的结束(ROWLOCK、XLOCK必须放在事务中)

        BEGIN TRANSACTION;
            --增、删、改。对数据库的操作在事务中。
            --锁会在事务结束后释放。不管是回退还是提交。都会释放。
            --变动前锁定指定数据。
            SELECT *                    
            FROM DBO.TAB
            WITH(XLOCK,ROWLOCK,READPAST) --排他锁,行级锁,指明数据库引擎返回结果时忽略加锁的行或数据页
            WHERE ISDEL = 0
            AND CID = @CID;

            --READPAST 说明:不会返回锁定的记录。这个语句的缺点是,其他操作不返回锁定的记录,只到事务释放才会释放锁。

            --锁定后变更
            UPDATE DBO.TAB
            SET ISDEL = 1
            WHERE ISDEL = 0
            AND CID = @CID;

            SELECT 0 AS ErrorCode,'确认成功' AS ErrorMsg;
            COMMIT TRANSACTION;
        END TRY
        BEGIN CATCH
            ROLLBACK TRANSACTION;  --如果发生异常,且存在事务,则回滚。
            SELECT 2 AS errorCode,'确认失败' AS errorMsg;
        END CATCH
    END
      

    展开全文
  • Dev tdxDBTreeView可以快速的用tree展示层次结构,无需任何编码;对tree的操作会自动post到数据集:对数据集的操作会 在tree上表现 一.关键 设置 datasource displayField:节点的 ...《JavaScript DOM 编程艺术(第2版)...

    Dev tdxDBTreeView

    可以快速的用tree展示层次结构,无需任何编码;对tree的操作会自动post到数据集:对数据集的操作会 在tree上表现 一.关键 设置 datasource displayField:节点的   ...

    《JavaScript DOM 编程艺术(第2版)》读书笔记

    阅读了本书第五章关于使用JavaScript的最佳实践,大部分的建议之前都有耳闻,不过阅读之后有更深的体会. 1.防止滥用JavaScript “不管你想通过JavaScript改变哪个网页的行为,都 ...

    【随记】修复TortoiseGit文件夹和文件状态图标不显示问题

    一. 运行环境: 操作系统 Windows 10 64bit TortoiseGit (2.2.0.0) 64bit msysgit(2.9.2.1) 64bit 注意:请确保环境正确,软件的位数相匹 ...

    ASP 调用dll(VB)及封装dll实例

    ASP调用dll及封装dll实例,封装为dll可以提供运行效率,加密代码. 打开VB6,新建ActiveX DLL 2.在工程引用中加入Microsoft Active Server Pages Ob ...

    微信开发之使用java获取签名signature(贴源码,附工程)

    一.前言 微信接口调用验证最终需要用到的三个参数noncestr.timestamp.signature: 接下来将会给出获取这三个参数的详细代码 本文的环境eclipse + maven 本文使用到 ...

    在linux中输出每个group的用户成员

    先提供使用文件一步一步获取相关信息: 1. 获取所有的用户: awk -F: '{print $1 > "1.txt"}' /etc/passwd 2. 获取每个用户, 及其 ...

    移动APP用例设计中的关键点&lpar;转载&rpar;

    http://www.51testing.com/html/52/n-4421752.html 在测试工作中我们需要不断的总结和储备自己的知识和经验,譬如具备特定属性.环境以及场景,如:PC,手机,智 ...

    你真的了解word-wrap和word-break的区别吗? &lpar;转载&rpar;

    这两个东西是什么,我相信至今还有很多人搞不清,只会死记硬背的写一个word-wrap:break-word;word-break:break-all;这样的东西来强制断句,又或者是因为这两个东西实在是 ...

    统计Mongo数组中相同对象的属性之和

    统计Mongo数组中相同对象的属性之和 需求 需要统计app端用户的行为,按天分表,存入mongo.每次用户进行操作的时候,将数据存入app本地,下次用户启动的时候,提交存入mongo,删除app本地 ...

    展开全文
  • 在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。...
  • sql server 存储过程事务处理

    千次阅读 2010-07-18 11:24:00
    SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。...
  • BEGINDECLARE t_error INTEGER DEFAULT 0;DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;START TRANSACTION;#这边放sql语句,涉及到的表必须都为InnoDBIF t_error = 1THENROLLBACK;ELSECOMMIT;...
  • 在编写SQL Server 事务相关的存储过程代码时,经常看到下面这样的写法:begin tranupdate statement 1 ...update statement 2 ...delete statement 3 ...insert statement 4 ...commit tran这样编写的SQL存在很大...
  • BEGIN DECLARE t_error INTEGER DEFAULT 0;  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; START TRANSACTION; #这边放sql语句,涉及到的表必须都为InnoDB ... IF t_error = 1 THEN...
  • BEGIN DECLARE t_error INTEGER DEFAULT 0;  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; START TRANSACTION; #这边放sql语句,涉及到的表必须都为InnoDB ... IF t_error = 1 THEN ...
  • 前段时间做项目遇到了mysql中的存储过程,个人觉得有必要,所以总结了一下,就写出来,如果有哪里不对,请大家多多指教。 mysql中若要用事务则表类型必须为InnoDB. delimiter // create PROCEDURE p() BEGIN ...
  • 1: DECLARE @CurrentError int 2: BEGIN TRANSACTION 3: -- 开始更新数据的事务 4: /* 5: **这里执行业务操作** 6: */ 7: -- 错误检查 ...
  • `proc_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '刷新的存储过程', `begin_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', `end_time` ...
  • 保留点(savepoint):指事务处理中设置的临时占位符,可以对它发布回退 SQLserver BEGIN TRANSACTION .... COMMIT TRANSACTION MariaDB 和 MySQL START TRANSACTION ... Oracle SET ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,896
精华内容 1,158
关键字:

存储过程事务处理