一个过程里有insert 有update ,偶尔出现 插入了没有更新 的情况begin tran tx
declare @err int
set @err = 0————————————————插入表1
insert into 表1
……
set @err=@err+@@error
——————————————如果满足条件则更新表2
if (条件1)
begin
update 表2
set @err=@err+@@error
end
if (条件2)
begin
update 表2
set @err=@err+@@error
end
……
IF @err <> 0
rollback tran tx
else
commit tran tx
代码就是这样,
解决方案 »
- 弱问,查看数据库恢复模式的sql是什么?
- 外键中引用列的数目与被引用列的数目不等~~~郁闷了
- 如何编写存储过程读取网页返回来的字符串
- 备份的physical_device_name 含义
- mssql 中not in报错
- 求助高手!存储过程不能调试,如何解决?
- 怎样写出sql的查询语句?
- =请教:外部存储过程传入参数的问题(在线急等)=
- 如何在程序中判断某字段的属性:如数据类型、是否为主键、外键
- 字符串转日期,求高手指点
- VB6+ACCESS 在事务控制中为什么两条语句不可同时执行
- 从http://www.sfcservice.com/pages/index/entitle/webservice,接数据过来
BEGIN TRANSACTION
--
-- You code here.
--
COMMIT TRANSACTION
END TRY
BEGIN CATCH IF (@@TRANCOUNT > 0)
-- Adds store procedure
-- Writes the error into ErrorLog table.
ROLLBACK TRANSACTION
END IF
END CATCH