[ flighter_022 @ 24.05.2008. 03:48 ] @
Procedura prvo dodaje slogove u bazu (primer) a zatim preko kurzora radi dodatnu obradu sa upisivanjem u neku trecu tabelu Code: BEGIN TRAN DECLARE @p1 int, @p2 int INSERT INTO Tabela1 (Polje1, Polje2) SELECT Abc, Def FROM Tabela2 WHERE <neki uslov> DECLARE cursor1 CURSOR FOR SELECT Tabela1.Polje1, Tabela1.Polje2 FROM Tabela1 WHERE <neki uslov> OPEN cursor1 FETCH NEXT From Cursor1 INTO @p1, @p2 WHILE @@FETCH_STATUS =0 BEGIN <neka obrada podataka> FETCH NEXT From Cursor1 INTO @p1, @p2 END CLOSE cursor2 DEALLOCATE cursor2 COMMIT TRAN E sad, ako tokom dela gde se koristi kurzor dodje do greske, podaci upisani sa INSERT INTO ipak ostanu u bazi (jer u tom delu nije bilo greske). Kako da postignem da sve izmene u bazi (i one sa INSERT INTO, i one unutar kurzorske operacije) budu obuhvacene istom transakcijom? |