| sanron |  |
|
 |
 |
等级: 三流高手 贴子:93 积分:121 金币:0 注册:2010-1-4 |
|
| 第 1 楼 |
|
谁给讲讲TRANSACTION呗? |
查了些资料 了解到TRANSACTION(事务)是个很好的东西 但在SQL语句中就看见SET TRANSACTION语句与事务有关
如果我想某一些存储过程或语句必须一次执行完成 不容被打断 这种事应该由事务负责吧?
该怎么弄呢? |
|
|
|
|
|
| Jimt |  |
|
 |
 |
等级: 三流高手 头衔:霸王 贴子:355 积分:368 金币:0 注册:2007-9-12 |
|
| 第 2 楼 |
|
|
问题太大,不好回答……
简单的说,事务就是一系列动作,如果全部成功,则全部生效,如果有一个不成功,就全部不生效,和操作前一样,主要是为了处理结构化和相关数据,保证完整性和统一性。
fb里强制所有操作必须使用事务,不过大部分访问程序都会把事务处理包含进去,外边看不到。
理论上事务可以存在于任何地方(view好象不支持),找几个例子看看吧。
|
|
|
|
|
|
| sanron |  |
|
 |
 |
等级: 三流高手 贴子:93 积分:121 金币:0 注册:2010-1-4 |
|
| 第 3 楼 |
|
|
是否只要在 SET TRANSACTION 和 COMMIT TRANSACTION 之间的语句都是作为一个整体来执行的? |
|
|
|
|
|
| Jimt |  |
|
 |
 |
等级: 三流高手 头衔:霸王 贴子:355 积分:368 金币:0 注册:2007-9-12 |
|
| 第 4 楼 |
|
|
基本如此,在后面必须用commit或者rollback之一来结束事务。
不过在事务里的处理尽量简短,时间不要太长,否则容易造成其他访问者的冲突。 |
|
|
|
|
|