sql server 2008R2中的事务语句控制

Oracle数据库客户端工具PL/SQL中的SQL Window涉及到DML操作时,

当前Window中的sql自动归为一个事务,并且有对应的rollback和commit按钮,sql server数据库也可以实现相同功能,只不过需要显式的事务控制语句.

首先,sql server 中的新建查询窗口是一个session,类比PL/SQL中的SQL Window.

sql server 事务控制语句 :https://msdn.microsoft.com/zh-cn/library/ms188929.aspx

BEGIN { TRAN | TRANSACTION } 
    [ { transaction_name | @tran_name_variable }
      [ WITH MARK [ 'description' ] ]
    ]
[ ; ]
ROLLBACK/COMMIT { TRAN | TRANSACTION } 
     [ transaction_name | @tran_name_variable
     | savepoint_name | @savepoint_variable ] 
[ ; ]

例子 :

begin transaction

--调用过程     
exec p_ecord_code_plat_sav '','','','2','2','','' ;
--alter procedure [dbo].[p_ecord_code_plat_sav]
--    (
--      @as_userid varchar(255) ,       -- 操作用户ID
--      @as_wldm varchar(255) ,       -- 往来代码
--      @as_func varchar(255) ,       -- 菜单或功能ID
--      @as_code varchar(255) ,        -- 平台代码
--      @as_name varchar(255) ,        -- 平台名称
--      @an_errorcode int output ,    -- 错误代码,如果没有错误 an_errorcode, as_errormsg 均为空
--      @as_errormsg varchar(1024) output      -- 返回错误消息       
--    )
 --执行dml语句
insert into ecm010 select '2','2','';

--到此位置,

!同一窗口,select *   from ecm010 ; 能够查到 2,2,'' 数据行

新增窗口 ,查不到


rollback transaction ;

--回滚 ,同一窗口,新增窗口均查不到

commit transaction ;

--回滚 ,同一窗口,新增窗口均可查到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值