一个sql语句是这样写的,没有事务,出现这种情况有可能吗?update tableA set a='1',status='2'
where 条件insert into tableB(field1,field2) values('1','2')结果,tableB 插入了记录,tableA 的 a 更新为1了,status却没更新到。
怎么会这样,有可能吗?办公室里一个从事多年编程的说,也曾遇过这样的情况。
以我的知识,很难理解会出现这种情况,大家有何高见?
sql 奇怪的事情疑难杂症
where 条件insert into tableB(field1,field2) values('1','2')结果,tableB 插入了记录,tableA 的 a 更新为1了,status却没更新到。
怎么会这样,有可能吗?办公室里一个从事多年编程的说,也曾遇过这样的情况。
以我的知识,很难理解会出现这种情况,大家有何高见?
sql 奇怪的事情疑难杂症
但,问题是,update 一个字段成功,另外一个字段不成功,有可能会这样吗?
但,问题是,update 一个字段成功,另外一个字段不成功,有可能会这样吗?
from sys.tables a
inner join sys.objects b on a.object_id=b.parent_object_id and b.type='TR'
where a.name in('tableA','tableB')
敢问LZ是WYU的吗?
敢问LZ是WYU的吗?
嗯,大你一届吧。很高兴这里有一个高手校友哦。
output a,status into @tb
where 条件insert into tableB(field1,field2)
values('1','2')
--查看被update的记录,在update之前的值
select * from @tb
一条语句执行 2个值肯定都更新了。a的值都为1了 而status的值不为2 那么
有几种可能
1.表中有触发器更改了 status的值
2.表中有触发器更改了 a的值而没有更改status的值
回答完毕!