SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_HozzaferesGeneralas]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_HozzaferesGeneralas] END GO CREATE PROCEDURE [dbo].[sp_HozzaferesGeneralas] @xml xml, @tanevID int, @intezmenyID int, @userId int AS BEGIN BEGIN TRY SET NOCOUNT ON SET XACT_ABORT ON DECLARE @tbl TABLE ( C_ID int, C_USERNAME nvarchar(50), C_PASSWORD nvarchar(50), C_GONDVISELOID int, C_NEMGENERALHATO char(1)) INSERT INTO @tbl SELECT sor.value('number((Id)[1])', 'int') AS C_ID, sor.value('(UserName)[1]', 'nvarchar(50)') AS C_USERNAME, sor.value('(Password)[1]', 'nvarchar(50)') AS C_PASSWORD, sor.value('number((GondviseloId)[1])', 'int') AS C_GONDVISELOID, sor.value('(NemGeneralhato)[1]', 'char(1)') AS C_NEMGENERALHATO FROM @xml.nodes('/BelepesiAdatok/BelepesiAdatokLista/BelepesiAdat') as sorok(sor) BEGIN TRANSACTION -- UPDATE belepes -- SET --belepes.TOROLT = 'T' --,belepes.SERIAL = SERIAL+1 -- ,belepes.LASTCHANGED = GETDATE() --,belepes.MODIFIER = @userId -- FROM T_FELHASZNALOBELEPES belepes -- WHERE belepes.C_FElHASZNALOID IN (SELECT C_ID FROM @tbl) AND C_INTEZMENYID =@intezmenyID AND C_TANEVID= @tanevID INSERT INTO [dbo].[T_FELHASZNALOBELEPES] ([C_KOTELEZOVALTOZTATNI] ,[C_MEGHIUSULTBELEPESEK] ,[C_UTOLSOBELEPES] ,[C_JELSZO] ,[C_JELSZOVALTOZTATASIDEJE] ,[C_SO] ,[C_BEJELENTKEZESINEV] ,[C_FELHASZNALOID] ,[C_GONDVISELOID] ,[C_INTEZMENYID] ,[C_TANEVID] ,[TOROLT] ,[SERIAL] ,[LASTCHANGED] ,[CREATED] ,[MODIFIER] ,[CREATOR]) SELECT 'T' AS C_KOTELEZOVALTOZTATNI ,NULL AS C_MEGHIUSULTBELEPESEK ,NULL AS C_UTOLSOBELEPES ,t.C_PASSWORD AS C_JELSZO ,NULL AS C_JELSZOVALTOZTATASIDEJE ,NULL AS C_SO ,t.C_USERNAME C_BEJELENTKEZESINEV ,t.C_ID AS C_FELHASZNALOID ,IIF(t.C_GONDVISELOID=-1, NULL, (t.C_GONDVISELOID)) AS C_GONDVISELOID ,@intezmenyID AS C_INTEZMENYID ,@tanevID AS C_TANEVID ,'F' AS TOROLT ,0 AS SERIAL ,NULL LASTCHANGED ,GETDATE() AS CREATED ,NULL AS MODIFIER ,@userId AS CREATOR FROM @tbl t WHERE t.C_NEMGENERALHATO = 'F' COMMIT TRANSACTION END TRY BEGIN CATCH IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0 ROLLBACK TRANSACTION; THROW END CATCH END GO