sql server 2008R2中的事务语句控制
2016-05-10 16:31
507 查看
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 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 ;
--回滚 ,同一窗口,新增窗口均可查到
当前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 ;
--回滚 ,同一窗口,新增窗口均可查到
相关文章推荐
- HeidiSQL无法连接Myql
- sqlserver2000 在查询时产生序号列的办法
- Mysql操作日志
- MySql 里的IFNULL、NULLIF和ISNULL用法区别
- 修改oracle数据库监听端口号
- 常用SQL函数
- 优化SQL查询:如何写出高性能SQL语句
- 解决mysql不是内部或外部命令 环境变量
- 网易视频云技术分享:一个SparkSQL的作业的一生
- MYSQL获取自增主键【4种方法】
- oracle connect by用法
- 关于mysql中root权限丢失的问题
- SQL Serve允许远程连接的解决方法
- oracle笔记
- oracle 11g如何完全卸载_百度经验
- mysql-5.6.26 免安装版 文件配置
- 学一点 mysql 双机异地热备份—-mysql主从,主主备份原理及实践
- 备份mysql
- MySQL逗号分割字段的行列转换测试改进
- VS2010 自带的SQL SERVER 2008 EXPRESS 如何连接?