BEGIN TRANSACTION
1 update tv with(tablockx) set status = 10, okmsg = ''  where id = 187
2 create table test(abcd int)
3 select * from tv,tv a,tv b
COMMIT TRANSACTION1:如果在2的时候报了错当test表存在的时候, 那么这个时候读id187的status是多少呢? 这个值我发现是10,可是事物没有commit呢!他有没可能恢复原来状态?经过了什么操作后永远不可恢复??
2:如果在查询分析器中,执行到3的时候我手动停止, 那么这个事物是处于什么状态? 跟报错是一个状态吗?
3:在什么操作状态下,执行了这个事物能锁住tv表??(包括死机,产生异常等,我想知道的是这个操作一定会锁定tablockx tv表)
4:go语句有什么用, 我看帮助是说子语句的分割,什么是子语句?
5:在这个事物的执行过程中,tablockx不是锁住了表么,为什么第3条语句还能执行?
6:锁定有这种可能么?就是我这个查询分析器中可以查询, 但新开个查询分析器的连接不可以查询。
7:如果万一锁定了一个表。在什么情况下会恢复锁定? 我知道在事物中用tablockx锁定的话,在这个事物运行中,表一直锁定,但是如果产生了如1,2的状态呢。就是事物被取消了或者产生了错误,或者强制关闭了连接,这个锁又是怎么样的?谢谢。按问题给分每问10分。