DROP PROCEDURE IF EXISTS [dbo].[uspUpdateTanuloMulasztasListNaplozas] GO CREATE PROCEDURE [dbo].[uspUpdateTanuloMulasztasListNaplozas] @pModifier int ,@pTanevid int ,@pIntezmenyid int ,@pModifydate datetime ,@pJson nvarchar(max) AS BEGIN SET NOCOUNT ON; DROP TABLE IF EXISTS #Tanulomulasztas CREATE TABLE #Tanulomulasztas ( Id int NULL ,C_Op int NULL ,C_Igazolt char(1) NULL ,C_Kesespercben int NULL ,C_Megjegyzes nvarchar(255) NULL ,C_Tipus int NULL ,C_Igazolastipusa int NULL ,C_Oratanuloiid int NULL ,C_Tanitasiorakid int NULL ); INSERT INTO #Tanulomulasztas SELECT * FROM OPENJSON(@pJson) WITH ( Id int '$.ID' ,C_Op int '$.Op' ,C_Igazolt char(1) '$.Igazolt' ,C_Kesespercben int '$.KesesPercben' ,C_Megjegyzes nvarchar(255) '$.Megjegyzes' ,C_Tipus int '$.Tipus' ,C_Igazolastipusa int '$.IgazolasTipusa' ,C_Oratanuloiid int '$.OraTanuloId' ,C_Tanitasiorakid int '$.TanitasiOrakId' ); INSERT INTO [dbo].[T_TANULOMULASZTAS] ( C_Igazolt ,C_Kesespercben ,C_Megjegyzes ,C_Tipus ,C_Igazolastipusa ,C_Intezmenyid ,C_Tanevid ,C_Oratanuloiid ,C_Tanitasiorakid ,Creator ,Created ,Serial ) SELECT UPPER(C_Igazolt) ,C_Kesespercben ,C_Megjegyzes ,C_Tipus ,C_Igazolastipusa ,@pIntezmenyid ,@pTanevid ,C_Oratanuloiid ,C_Tanitasiorakid ,@pModifier ,@pModifydate ,0 FROM #Tanulomulasztas WHERE C_Op = 0; -- Insert op UPDATE Tmul SET Tmul.C_Igazolt = UPPER(Tmult.C_Igazolt) ,Tmul.C_Kesespercben = Tmult.C_Kesespercben ,Tmul.C_Megjegyzes = Tmult.C_Megjegyzes ,Tmul.C_Tipus = Tmult.C_Tipus ,Tmul.C_Igazolastipusa = Tmult.C_Igazolastipusa ,Tmul.C_Oratanuloiid = Tmult.C_Oratanuloiid ,Tmul.C_Tanitasiorakid = Tmult.C_Tanitasiorakid ,Tmul.Modifier = @pModifier ,Tmul.Lastchanged = @pModifydate ,Tmul.Serial = Tmul.Serial + 1 FROM [dbo].[T_TANULOMULASZTAS] AS Tmul INNER JOIN #Tanulomulasztas AS Tmult ON Tmul.Id = Tmult.Id WHERE Tmult.C_Op = 1 -- Update AND Tmul.C_Intezmenyid = @pIntezmenyid AND Tmul.C_Tanevid = @pTanevid; UPDATE Tmul SET Tmul.Torolt = 'T' ,Tmul.Modifier = @pModifier ,Tmul.Lastchanged = @pModifydate ,Tmul.Serial = Tmul.Serial + 1 FROM [dbo].[T_TANULOMULASZTAS] AS Tmul INNER JOIN #Tanulomulasztas AS Tmult ON Tmul.Id = Tmult.Id WHERE Tmult.C_Op = 2 -- Delete AND Tmul.C_Intezmenyid = @pIntezmenyid AND Tmul.C_Tanevid = @pTanevid; END; GO