webForumDet fria alternativet

SP Rollback

5 svar · 256 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
#1

Typ:

if @@error = 0
Begin
COMMIT TRANSACTION
End
Else
ROLLBACK TRANSACTION
END

Varför använder man inte alltid denna rollback i Lagrade Procedurer?
Krävande?
Onödigt?
Andra synpunkter?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Du kan ju sköta transaktionshanteringen utanför procedurerna.

Det blir oftast enklare om man har många procedurer som skall anropa varandra.

ironheadMedlem sedan mars 20011 346 inlägg
#3

Utanför procedurerna? Hur då?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Exakt hur beror på vilken miljö du jobbar i. I Asp t.ex

connect.begintrans
on error resume next
connect.execute("exec ...")
on error goto 0
if err.errno <> 0 then
   connect.rollbacktran
   'cleanup
   'visa lämplig text
   response.end
end if

on error resume next
connect.execute("exec ...")
on error goto 0
if err.errno <> 0 then
   connect.rollbacktran
   'cleanup
   'visa lämplig text
   response.end
end if
connect.committrans

Om man jobbar i en EJBserver så kan man låta den sköta transaktionshanteringen.

ironheadMedlem sedan mars 20011 346 inlägg
#5

åhå! Tackar allra ödmjukast ;)

Sista fråga bara vad är en EJBServer? :q

LarsGMedlem sedan dec. 200012 464 inlägg
#6

EJB = Enterprise Java Beans det är en komponent i J2EE.

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)