I need some help. I need to convert this code with cursors to set-based operations. I can't understand how I can make the set-based code do the same as with cursors.
DECLARE Cursor static local FOR SELECT Cid,Abrev FROM EntityType OPEN Cur FETCH NEXT FROM Cur INTO @entityType, @entityTypeAbrev WHILE @@FETCH_STATUS = 0 BEGIN
SET @CurEnt = Cursor static local FOR
SELECT did FROM Entity where EntityTypeCid=@entityType
OPEN @CurEnt
FETCH NEXT FROM @CurEnt INTO @entityId
WHILE @@FETCH_STATUS = 0
BEGIN
SET @RandNumber= FLOOR(RAND()*(28-1)+1);
select @entityNumber=EntityNumber from Entity
where did=@entityId
--print @entityNumber
SET @FullName= @entityTypeAbrev + ' ' + cast(@entityNumber as nvarchar)
SET @ShortName = @FullName
/*
* ENTITY*/
UPDATE entity set fullname=@FullName, ShortName=@ShortName where did=@entityId
UPDATE Agenda set EntityName= @FullName where EntityDid=@entityId
--Intervetions SET @CurIntervs = Cursor static local FOR select did, CredOperIntervType from CredOperInterv where EntityDid=@entityId OPEN @CurIntervs FETCH NEXT FROM @CurIntervs INTO @credOperIntervDid, @credOperIntervTypeId WHILE @@FETCH_STATUS = 0 BEGIN
I need to have the same results that I obtain with cursors but with set-based operations