UPDATE e SET e.C_SULY = tas.C_SULY FROM T_ERTEKELESMOD e INNER JOIN T_TANARIATLAGSULY tas ON tas.C_ERTEKELESMODID = e.ID AND tas.C_INTEZMENYID = e.C_ALINTEZMENYID AND tas.C_TANEVID = e.C_ALTANEVID GO DROP VIEW IF EXISTS V_TANULOERTEKELES GO DECLARE @intezmenyId int ,@tanevId int ,@osztalyCsoportId int ,@felhelyId int DECLARE intezmeny_Kurzor CURSOR FOR SELECT C_INTEZMENYID, C_TANEVID FROM T_TANULOERTEKELES WHERE C_OSZTALYCSOPORTID IS NULL GROUP BY C_INTEZMENYID, C_TANEVID OPEN intezmeny_Kurzor FETCH NEXT FROM intezmeny_Kurzor INTO @intezmenyId, @tanevId WHILE @@FETCH_STATUS = 0 BEGIN SET @felhelyId = NULL; -- Ha van törölt és nem törölt, akkor a nem töröltet részesíti előnyben SELECT TOP 1 @felhelyId = ID FROM T_FELADATELLATASIHELY WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId ORDER BY TOROLT ASC INSERT INTO T_OSZTALYCSOPORT ( C_NEV ,C_EVFOLYAMTIPUSA ,C_FELADATELLATASIHELYID ,C_FELADATKATEGORIAID ,TOROLT ,C_INTEZMENYID ,C_TANEVID ,CREATOR ) VALUES ( 'Na' ,1296 ,@felhelyId ,7553 ,'T' ,@intezmenyId ,@tanevId ,0 ) SET @osztalyCsoportId = SCOPE_IDENTITY() INSERT INTO T_OSZTALY ( ID ,TOROLT ,C_ALINTEZMENYID ,C_ALTANEVID ,CREATOR ) VALUES ( @osztalyCsoportId ,'T' ,@intezmenyId ,@tanevId ,0 ) UPDATE T_TANULOERTEKELES SET C_OSZTALYCSOPORTID = @osztalyCsoportId ,C_ROGZITESKORITANULOOSZTALYID = @osztalyCsoportId ,MODIFIER = 0 ,LASTCHANGED = GETDATE() ,SERIAL += 1 WHERE C_OSZTALYCSOPORTID IS NULL AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId FETCH NEXT FROM intezmeny_Kurzor INTO @intezmenyId, @tanevId END CLOSE intezmeny_Kurzor; DEALLOCATE intezmeny_Kurzor; GO