Desi nu prea este indicat sa se foloseasca cursoare nu am avut de ales si a trebuit sa folosesc :(
Am o procedura care apeleaza alte 2 proceduri.
Arata ceva de genul
BEGIN TRANSACTION
declare cursor for ...
open cursor
fetch next ...
while @@FETCHSTATUS = 0
BEGIN
exec SProc
fetch next ...
END
close cursor
deallocate cursor
declare altcursor for ...
open altcursor
fetch next ...
while @@FETCHSTATUS = 0
BEGIN
exec altSProc
fetch next ...
END
close altcursor
deallocate altcursor
COMMIT TRANSACTION
IF @@ERROR <> 0
ROLLBACK TRANSACTION
In altSProc am un RAISERROR si as vrea sa nu se comita transactia, numai ca ea se comite.
Cum ar trebui sa fac sa nu se mai comita nimic ?
Multumesc
Sorin Sandu