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?
5 svar · 256 visningar · startad av ironhead
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?
Du kan ju sköta transaktionshanteringen utanför procedurerna.
Det blir oftast enklare om man har många procedurer som skall anropa varandra.
Utanför procedurerna? Hur då?
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.
EJB = Enterprise Java Beans det är en komponent i J2EE.