在一个存储过程中,启动一个事务,先向A表写入一条新记录,然后检查@@error,如果大于○则终事务,然后根据A表写入的记录写另一个表B表,最后提交事务。这是一个很简单的存储过程,但不知为何有时,表A中的记录没有写进去,而B表中的记录却写进去了,是事务有问题吗??
---------------------------------------------------------------
大于○-->不等于0
终事务-->回滚事务并退出
是不是用触发器会好些??
---------------------------------------------------------------
兄弟你是否是这样写的?
begin tran test
insert into table_a....
insert into table_b...
if @@error=0
commit test
else rollback test
这样是不会出错的,你最好给事务起个名。
---------------------------------------------------------------
你用if... else 好一点。
---------------------------------------------------------------
数据库的问题!呵呵