|
|
|
Почему-то не происходит rollback
|
|||
|---|---|---|---|
|
#18+
Есть ASA 8.0.2 хранимой процедуре (см. ниже) не происход откат транзакции почему-то, что надо подправить? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2008, 19:37 |
|
||
|
Почему-то не происходит rollback
|
|||
|---|---|---|---|
|
#18+
from BOL Every SQL statement resets @@error , so the status check must immediately follow the statement whose success is in question. from BOLTransact-SQL uses the SELECT statement to assign values to local variablesJetAlex Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. C уважением, AlexandrN© ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 14:14 |
|
||
|
Почему-то не происходит rollback
|
|||
|---|---|---|---|
|
#18+
Убрал SELECT @FLAG err1: if @FLAG <> '0' begin print 'rollback' select @FLAG rollback transaction end И заработало... Вопрос снят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 19:02 |
|
||
|
Почему-то не происходит rollback
|
|||
|---|---|---|---|
|
#18+
Вообще-то, очень и очень не рекомендуется управлять транзакциями изнутри хранимой процедуры. ROLLBACK и COMMIT не симметричны. ROLLBACK откатывает транзакции всех уровней вложенности, а COMMIT закрывает только свой уровень. Это значит, что если ты начнешь транзакцию до вызова ХП, сделаешь какой-то апдейт базы. Потом позовешь ХП внутри которой начнешь еще одну транзакцию, сделаешь там второе изменение, а потом откатишь. То откатятся оба изменения. И то которое ты сделал внутри ХП и то которое было до ХП. Вот пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. В ASA для отката только изменений сделаных внутри ХП существует специальный механизм: SAVEPOINT / ROLLBACK TO SAVEPOINT. Вот им и надо пользоваться, он не нарушит внешнее по отношению к ХП управление транзакциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 20:01 |
|
||
|
Почему-то не происходит rollback
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2008, 20:06 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%AE%D1%80%D0%B8%D0%B9%D0%BB%D0%BB]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 517ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...