USE OsobaVztah SET NOCOUNT ON; --ukaze, kolko riadkov bolo zmenenych ... DECLARE @id int, @name nvarchar(50), @priezvisko varchar(80); PRINT '-------- Osoby tu --------'; DECLARE Osoby_kurzor CURSOR SCROLL FOR --definujeme cursor --INSENSITIVE pred cursor for ... pozri dokumentaciu --INSENSITIVE zafixovane data, kt sa nemenia, lebo sa moze stat ze kym pocitame, niekto meni data ... -- zavola samo aj READ ONLY SELECT id,meno,priezvisko FROM Osoba WHERE vyska >= 150 ORDER BY id --FOR UPDATE OF vyska OPEN Osoby_kurzor --fetch prvy FETCH NEXT FROM Osoby_kurzor INTO @id, @name, @priezvisko WHILE @@FETCH_STATUS = 0 BEGIN --PRINT 'Osoba s id ' +@id + ' ma ' + @meno + 'a priezvisko' + @priezvisko; PRINT @id; IF @id=1 begin UPDATE Osoba SET vyska = 150 WHERE CURRENT OF Osoby_kurzor PRINT 'Menim idcko 1 a jeho vysku' end --dalsie fetche FETCH NEXT FROM Osoby_kurzor INTO @id, @name, @priezvisko END CLOSE Osoby_kurzor; DEALLOCATE Osoby_kurzor; DECLARE @id int, @meno nvarchar(50), @priezvisko varchar(80); FETCH PRIOR FROM Osoby_kurzor --iterujem vsetky zaznamy INTO @id, @meno, @priezvisko PRINT @id PRINT @@FETCH_STATUS