-- Tanulók szakképzéses adatinak frissítése, paraméterektől függően -- Szekeres András, Telek Ákos -- 2017.05.12. DROP PROCEDURE IF EXISTS dbo.uspUpdateTanulokNKTesSZKTSzakkepzesesAdatok GO CREATE PROCEDURE dbo.uspUpdateTanulokNKTesSZKTSzakkepzesesAdatok @tanulokIdString varchar(max) ,@isSzakkepzesesUpdate bit = 1 ,@isNKTSzakkepzesesUpdate bit = 0 ,@SzakiranyNKTTipusId int = NULL ,@SzakkepesitesNKTTipusId int = NULL ,@TanulmanyiTeruletNKTTipusId int = NULL ,@szakmacsoport int = NULL ,@agazat int = NULL ,@szakkepesites int = NULL ,@reszSzakkepesites int = NULL AS BEGIN SET NOCOUNT ON; DECLARE @sql NVARCHAR(MAX), @setList NVARCHAR(MAX) SET @sql = N'UPDATE T_TANULO_OSSZES SET ' IF @isSzakkepzesesUpdate is not null and @isSzakkepzesesUpdate = 1 BEGIN IF @szakmacsoport is not null BEGIN SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKMACSOPORT = @szakmacsoport' END IF @agazat is not null BEGIN SET @setList = ISNULL(@setList + ', ', '') + N'C_AGAZAT = @agazat' END IF @szakkepesites is not null BEGIN SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKKEPESITES = @szakkepesites' END IF @reszSzakkepesites is not null BEGIN SET @setList = ISNULL(@setList + ', ', '') + N'C_RESZSZAKKEPESITES = @reszSzakkepesites' END END IF @isNKTSzakkepzesesUpdate is not null and @isNKTSzakkepzesesUpdate = 1 BEGIN IF @SzakiranyNKTTipusId is not null BEGIN SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKIRANYNKTTIPUSID = @SzakiranyNKTTipusId' END IF @SzakkepesitesNKTTipusId is not null BEGIN SET @setList = ISNULL(@setList + ', ', '') + N'C_SZAKKEPESITESNKTTIPUSID = @SzakkepesitesNKTTipusId' END IF @TanulmanyiTeruletNKTTipusId is not null BEGIN SET @setList = ISNULL(@setList + ', ', '') + N'C_TANULMANYITERULETNKTTIPUSID = @TanulmanyiTeruletNKTTipusId' END END SET @sql += @setList + ' WHERE ID IN ('+ @tanulokIdString +') AND TOROLT = ''F'' ' EXEC sp_executesql @sql, N'@szakmacsoport int, @agazat int, @szakkepesites int, @reszSzakkepesites int, @SzakiranyNKTTipusId int, @SzakkepesitesNKTTipusId int, @TanulmanyiTeruletNKTTipusId int', @szakmacsoport, @agazat, @szakkepesites, @reszSzakkepesites, @SzakiranyNKTTipusId, @SzakkepesitesNKTTipusId, @TanulmanyiTeruletNKTTipusId END GO